jQuery:表单序列化、隐藏字段和不显示字段

2024-01-26

我在用$(this).serialize()提交表格时。

它工作得很好,除了当我(由于某种原因)有两个具有相同名称的字段(一个可见,一个不可见,而且我不是在谈论type="visible" but display:none)...

但是当然serialize不考虑这个...它只是把他们全部带走。

我试过这个

var $disabled_list = $(this).find('input:hidden,select:hidden,textarea:hidden').attr('disabled', 'disabled');
$(this).serialize();
$disabled_list.attr('disabled','');

它正在解决我的问题,除了 :hidden 选择器,还需要 type="hidden"

正确的方法是什么?


您不必打电话serialize() on the <form>本身,您可以匹配它的一些控件并在结果集上调用它。这可以让你避免修改disabled属性。

因为你想要控件匹配:hidden只有当他们也真正暴露hidden类型,您可以使用以下选择器:

$(this).find("input[type='hidden'], :input:not(:hidden)").serialize();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery:表单序列化、隐藏字段和不显示字段 的相关文章

随机推荐