我正在尝试遍历表单并用某个字段的+替换任何空格实例。似乎我可以直接更改值,但我无法让它替换该值中的任何空格实例。
请参阅下面的代码:
$('#search-form').bind('submit', function(){
var params = new Array();
$.each($(this).serializeArray(), function(i, field){
if(field.name == 'submit' || field.name == 'reset') return;
if(field.name == 'location' && field.value.indexOf(' ')>=0)
{
// this is where I am struggling
this.value.replace(/ /g,"+");
alert(this.value);
}
params.push(field.name + '=' + encodeURIComponent(field.value));
});
do_search(params.join('&'));
return false;
});
非常感谢任何帮助。
由于
*编辑感谢帮助人员。我今天学到了关于.replace的新内容。
答案 0 :(得分:1)
您需要将替换值分配给值
所以而不是
this.value.replace(/ /g,"+");
将其更改为
this.value = this.value.replace(/ /g,"+");
所以整件事情看起来像这样
$('#search-form').bind('submit', function(){
var params = new Array();
$.each($(this).serializeArray(), function(i, field){
if(field.name == 'submit' || field.name == 'reset') return;
if(field.name == 'location' && field.value.indexOf(' ')>=0)
{
// this is where I am struggling
field.value = field.value.replace(/ /g,"+");
}
params.push(field.name + '=' + encodeURIComponent(field.value));
});
do_search(params.join('&'));
return false;
});