我知道Web窗体的定义的行为是不提交禁用的字段…但这不是我想要的定义。我想使用ajax发布表单,我想要它获得所有字段,即使他们被禁用。我不想建立一个解决方法,我使字段“看起来禁用…”或必须在其中我启用字段 – >后 – >禁用。
是否可以使ajaxSubmit()或serialize()抓取禁用的字段,因为它正在移动通过DOM和抓取值?或者还有另一个序列化插件,可以做到这一点?或者有人有一个我可以做到这些插件之一,使其工作吗?
或者我注定要入侵它?
解决方法
您可以将字段设置为
readonly,这将禁止更改您的控件的值。
编辑:您可以轻松地编写一个“serializeDisabled”函数,遍历已禁用的具有name属性的表单元素,并在末尾使用jQuery.param函数来生成序列化字符串:
(function ($) { $.fn.serializeDisabled = function () { var obj = {}; $(':disabled[name]',this).each(function () { obj[this.name] = $(this).val(); }); return $.param(obj); } })(jQuery);