jQuery:表单序列化,隐藏字段,而不是显示字段

前端之家收集整理的这篇文章主要介绍了jQuery:表单序列化,隐藏字段,而不是显示字段前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在提交表单时使用$(this).serialize().

它运作良好,除非我(由于某种原因)有2个具有相同名称的字段(一个可见,一个不可以,我不是在谈论type =“visible”但是display:none)…

但当然序列化不考虑这个…它只需要它们.

我试过这个

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

它正在解决我的问题,除了:隐藏选择器,也需要type =“hidden”

什么是正确的方法

解决方法

您不必在< form>上调用serialize().本身,你可以匹配它的一些控件,并在结果集上调用它.这允许您避免修改禁用的属性.

由于您希望控件匹配:只有在实际公开隐藏类型时才隐藏,您可以使用以下选择器:

$(this).find("input[type='hidden'],:input:not(:hidden)").serialize();
原文链接:https://www.f2er.com/jquery/178919.html

猜你在找的jQuery相关文章