我有一个有多个字段的表单,提交按钮应该保持禁用状态,直到所有必填字段都填写完毕。我的问题是,当我开始在第一个字段中键入内容时,该按钮变为活动状态。
我试过不同的方法,从不同的问题,我不能让它工作。
下面是Fiddle,代码如下:
<form>
<div class="row">
<label for="realname">Name<span class="required">*</span></label>
<input type="text" name="realname" id="realname" required/>
</div>
<div class="row">
<label for="company">Company</label>
<input type="text" name="company" id="company"/>
</div>
<div class="row">
<label for="email">Email<span class="required">*</span></label>
<input type="email" name="email" id="email" required/>
</div>
<div class="row">
<label for="phone">Phone<span class="required">*</span></label>
<input type="tel" name="phone" id="phone" required/>
</div>
<div class="row">
<input type="submit" value="SUBMIT">
</div>
</form>
$(document).ready(function(){
var allInput = $('input:required');
var submit = $('input[type="submit"]');
submit.prop('disabled', true);
$('form').bind('submit',function(e){e.preventDefault();});
$(allInput).on('input change', function() {
$.each(allInput,function(){
if($(this).val() == ""){
console.log('nope');
} else {
submit.prop('disabled', false);
$('form').unbind('submit');
}
});
});
});
3条答案
按热度按时间vbkedwbf1#
当一个值不是空字符串时,您将启用按钮,我将以相反的方式执行此操作,启用提交按钮,如果一个项为空,则禁用按钮:
yxyvkwin2#
你的if块不对。if块说如果这些必填字段中有一个不为空,那么就启用按钮。你需要检查它们是否都为空。
u5rb5r593#
代码已经过更改,以更好地使用Jquery样式的代码,并涵盖不同的用例,如删除已经输入的值。