我有一个隐藏输入的简单表单,我试图检查每个隐藏的输入是否有一个值。如果所有隐藏的输入都有一个值,而不是禁用或启用提交按钮。一旦用户通过jquery点击图像,输入就会被填充。香港专业教育学院尝试多种方式,它看起来像我想的东西....禁用提交按钮,直到所有隐藏的输入有一个值
<form method="post" action="test.php">
<div class="selections" id="accordion">
<h3>title<div class='status'>Pending</div></h3>
<div class='select-form'>
<div class='images'>
<img src='images/vote.jpg' data-value='data-value'>
<br/><span>title</span><br/>description
</div>
<input type='hidden' class='image-value' name='1' value=''>
</div>
<div class='select-form'>
<div class='images'>
<img src='images/vote.jpg' data-value='data-value2'>
<br/><span>title</span><br/>description
</div>
<input type='hidden' class='image-value2' name='2' value=''>
</div>
</div>
<input id="submit_button" type="submit" class="submit" value="SUBMIT">
</form>
的JavaScript去如下:
$(document).ready(function() {
var $submit = $("input[type=submit]"),
$inputs = $('input[type=hidden]');
function checkEmpty() {
// filter over the empty inputs
return $inputs.filter(function() {
return !$.trim(this.value);
}).length === 0;
}
$inputs.on('blur', function() {
$submit.prop("disabled", !checkEmpty());
}).blur(); // trigger an initial blur
});
什么想法?
尝试调试过滤器的长度和检查什么它给你 – 2014-10-20 18:33:33
此外,我认为最终的HTML将我们比PHP更好 – 2014-10-20 18:34:07
由于您使用的是PHP,在循环遍历类别后设置禁用提交会比在隐藏字段上使用jquery blur更加容易,这种方式无法工作。同样在你的PHP中,你没有为任何隐藏的输入设置值。如果它们总是空的,它将如何工作? – 2014-10-20 18:37:26