我有动态表单,有不同类型的输入字段。可以有文本,paragraf文本选项和复选框。我可以使用序列化功能
jQuery('#frm_submit').submit(function(){
var postData = jQuery(this).serialize();
doFunction(postData);
});
但是没有序列化anu选项或留空的复选框。它需要在服务器端进行所有验证,我需要发送所有数据。怎么做?
答案 0 :(得分:0)
试试这个:
jQuery('#frm_submit').find('[name]').not('[type="file"]').each(function () {
var s = '';
if ('' !== s) {
s += '&';
}
var name = encodeURIComponent(jQuery(this).attr('name'));
var value = jQuery(this).val();
if ('SELECT' === jQuery(this).prop('tagName') && true === jQuery(this).prop('multiple')) {
// handling select multiple here
if (null !== value && value.length) {
var x = '';
for (var i in value) {
if ('' !== x) {
x += '&';
}
x += name + '=' + value[i];
}
s += x;
}
else {
s += name + '='; // null
}
}
else {
s += name + '=' + value;
}
doFunction(s);
return false;
});