我有一个关于更改包含某些表单信息但可能导致重复的URL的问题。用一句话很难解释。所以我有一个表单用于搜索并尝试使用下拉列表进行分页。 URL将是这样的:
http://www.site.com/page/?name=Amanda&state=WA&approved=-2&form_date=&submit=Submit
...并且下面的代码添加了页面调用(例如)
http://www.site.com/page/?name=Amanda&state=WA&approved=-2&form_date=&submit=Submit&page=2
然而,如果他们再次更改页面,它将复制页面调用,因此它将
http://www.site.com/page/?name=Amanda&state=WA&approved=-2&form_date=&submit=Submit&page=2&page=2
我知道如何通过PHP修复它,但如果可能的话我想将它保存在jQuery中。下面是我的jQuery调用。我是否必须进行indexOf调用?这是唯一的方法吗?我以为还有另外一种方式所以我想我会问。
$('#page').change(function(){
var pathName = window.location.search;
var page_change = $('#page option:selected').val();
if(pathName == ""){
window.location.replace("?page="+page_change);
} else {
window.location.replace(pathName+"&page="+page_change);
}
});
感谢!!!
答案 0 :(得分:0)
这是你的意思吗?
$('#page').change(function(){
var pathName = window.location.search;
var page_change = $('#page option:selected').val();
if(pathName == ""){
window.location.replace("?page="+page_change);
} else {
path_arr = pathName.substr(1).split('&');
new_path = new Array();
for(p in path_arr) {
if (path_arr[p].indexOf('page') == -1) {
new_path.push(path_arr[p]);
}
}
window.location.replace('?' + new_path.join() + '&page=' + page_change);
}
});