【发布时间】:2014-10-20 18:30:41
【问题描述】:
我有一个带有隐藏输入的简单表单,我正在尝试检查每个隐藏输入是否都有值。如果所有隐藏的输入都有一个值而不是禁用或启用提交按钮。一旦用户通过 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
});
有什么想法吗?
【问题讨论】:
-
尝试调试过滤器的长度并检查它给你的结果
-
另外我认为最终的 HTML 对我们来说会比 PHP 更好
-
由于您使用的是 PHP,因此在遍历类别后在提交上设置禁用会比在不起作用的隐藏字段上使用 jquery blur 容易得多。同样在您的 PHP 中,您没有为任何隐藏输入设置值。如果它们总是空的,这将如何工作?
-
感谢@PabloMatíasGomez 简化了代码
-
@FunkDoc 我编辑了帖子,一旦用户单击图像,就会使用查询填充输入。
标签: javascript php jquery html