我正在尝试通过jQuery $ .post提交表单并通过
序列化表单数据$('form').serialize();
不幸的是,未经检查单选按钮或复选框的字段未被序列化,ergo已提交。
是否可以包含所有字段,无论它们是否包含值?
我想这只影响像这样的字段
<input type="checkbox" name="some_name[]" value="1" />
<input type="checkbox" name="some_name[]" value="2" />
答案 0 :(得分:2)
制作您自己的序列化版本:
(function( $ ){
$.fn.mySerialize = function() {
var returning = '';
$('input, textarea',this).each(function(){
var name = this.name;
var value = this.value;
returning += name + '=' + value + '&';
})
return returning;
};
})( jQuery );
$('form').mySerialize();
答案 1 :(得分:-2)
你似乎错了,如live demo所示。即使foo
字段不包含任何值,也会包含<form>
<input type="text" name="foo" />
<input type="text" name="bar" value="baz" />
</form>
字段:
alert($('form').serialize());
然后:
foo=&bar=baz
打印(按预期):
{{1}}
答案 2 :(得分:-2)
DEMO:http://sandbox.phpcode.eu/g/bbfdd/2
结果:bar=
<form>
<input name="bar" />
</form>
<script>
$(function(){
$("input").click(function(){
alert($("form").serialize());
});
});
</script>