我的表单包含隐藏和可见的输入,如下所示。在本示例中,我只想序列化未隐藏的 name='country'
<form id="finalform">
<input type='hidden' name='sid' value='901271316' />
<input type='hidden' name='tco_currency' value='USD'>
<input name='country' value='India' />
</form>
我尝试了下面的代码,但它甚至序列化了隐藏的输入。
var frm = $("form#finalform:visible");
var add= JSON.stringify(frm.serializeArray());
最佳答案
使用下面的代码。 not(:hidden)
不会包含隐藏在 serialize()
检查DEMO
var frm = $('#finalform').find(":input:not(:hidden)").serialize();
或者
var frm = $('#finalform :input:not(:hidden)').serialize();
演示
var frm = $('#finalform :input:not(:hidden)').serializeArray();
var frm1 = $('#finalform').find(":input:not(:hidden)").serializeArray();
$('#firstOutput').text(JSON.stringify(frm))
$('#secondOutput').text(JSON.stringify(frm1))
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<form id="finalform">
<input type='hidden' name='sid' value='901271316' />
<input type='hidden' name='tco_currency' value='USD'>
<input name='country' value='India' />
</form>
<div id="firstOutput"> </div>
<div id="secondOutput"> </div>
关于jquery - 跳过 Jquery 序列化中的隐藏输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29566691/