有没有办法使用jQuery的序列化表单字段并修剪字段中的值?

Jar*_*red 4 forms jquery serialization trim

我有一个使用jQuery提交ajax帖子的表单,它序列化了发送的表单.代码如下所示:

var form = $("form");
var action = form.attr("action");
var serializedForm = form.serialize();
$.post(action, serializedForm, function(data)
{
  ...
});
Run Code Online (Sandbox Code Playgroud)

这里的问题是,如果一个字段有尾随空格,那么当它们被剥离时,序列化函数会将这些空格转换为加号(+).

有没有办法在执行以下操作的情况下修剪字段:

$("#name").val( jQuery.trim( $("#name") ) );
Run Code Online (Sandbox Code Playgroud)

Jet*_*son 10

你可以尝试循环遍历对象并调整一切.

//Serialize form as array
var serializedForm = form.serializeArray();
//trim values
for(var i =0, len = serializedForm.length;i<len;i++){
  serializedForm[i] = $.trim(serializedForm[i]);
}
//turn it into a string if you wish
serializedForm = $.param(serializedForm);
Run Code Online (Sandbox Code Playgroud)


mic*_*man 6

修剪DOM中的所有<input><textarea> </ textarea>元素值:

$('input, textarea').each(function(){
    $(this).val(jQuery.trim($(this).val()));
});
Run Code Online (Sandbox Code Playgroud)