1

我正在尝试遍历表单并将某个空格的任何实例替换为某个字段的 +。似乎我可以直接更改该值,但我无法让它替换该值中的任何空格实例。

请在下面查看我的代码:

$('#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 的新知识。

4

1 回答 1

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;
});
于 2013-10-09T21:50:19.137 回答