我有一个表单,其中有一些隐藏的字段集,当单击一个按钮时可以看到它们。如果用户单击其中一个按钮以使字段集可见并填写任何字段,则提交表单而不填写所有必填字段或不符合任何验证,它将返回每个字段下方的错误消息
我遇到的问题是,当用户返回到表单时,已打开并完全或部分填充的所有字段集都将恢复为默认隐藏状态。
我希望这些字段集中的任何一个都保持打开状态,以便用户可以看到他们做错了什么或者没有填写。
我试过以下......
if ($('#fieldset2').find(':input').not(':button').val() != '') {
$('#fieldset2').css({'display':'block'});
} else {
$('#fieldset2').css({'display':'none'});
}
这只有在填写了第一个字段时才有效。我需要它查看所有字段并检查是否有任何字段为空。 (不包括类型'按钮')。
答案 0 :(得分:2)
使用filter
:
$("input:not(:button)").filter(function () {
return $(this).val().trim().length != 0;
});
我觉得你多次使用#fieldset2
,这是不对的。 id
不应该重复。
答案 1 :(得分:0)
使用$ .filter过滤掉具有值的项目。如果该计数(长度)不等于0,则显示该块。
$(document).ready(function () {
if ($('#parentset2 input:not(:button)').filter(function () {
return this.value != "";
}).length != 0) {
$('#fieldset2').css({
'display': 'block'
});
} else {
$('#fieldset2').css({
'display': 'none'
});
}
});
答案 2 :(得分:0)
这是否解决了您的问题?
$(":输入&#34)不(":空&#34)。