我正在使用此代码序列化当前提交按钮的形式。它工作正常!
data: $(this.form).serialize() // it is used in $.ajax()
但是当我尝试添加我自己的自定义参数时
$(this.form).serialize() +'&address_serial=' +
$('#address').val().replace(new RegExp('\n', 'g'), '<br />')
更有可能破坏代码,表单重新加载而不是保持静态并发送ajax请求。
请注意,我在代码末尾有return false
,以便在点击提交时停止进一步发布表单。
如何添加自定义参数或更改textarea的当前值,以便保存每个 enter 键!
答案 0 :(得分:2)
.serialize
创建一个paramstring,因此,为了添加params,使用字符串连接。
var data = $("#myform").serialize() + "&" + $.param({foo: "bar"});
另外使用$.param
可确保生成的字符串已正确编码。
或者,您可以使用encodeURIComponent:
$(this.form).serialize() +'&address_serial=' + encodeURIComponent($('#address').val());
而且,为了帮助调试,使用event.preventDefault()
而不是return false
几乎总是更好,因为如果return false
发生错误,将无法访问event.preventDefault()
如果你在顶部使用它会。