【发布时间】:2014-04-19 06:02:24
【问题描述】:
我已经构建了一个多步骤表单,其中每个步骤都有提交按钮。前 2 个提交按钮仅显示表单的下一部分,最后一个提交数据。
我想禁用每个提交按钮,直到填写输入字段,但是,它不起作用。这是我所拥有的:
<form>
<fieldset>
<input id="Email" type="email" value="" >
<input id="Password" type="password" />
<input id="confirmPass" type="password" />
<input id="emailPassSubmit" type="submit" name="next" class="next action-button" value="Next" disabled="disabled" />
</fieldset>
</form>
<script type='text/javascript'>
$(function(){
$('#Email, #Password, #confirmPass').onkeyup(function(){
if ($(this).val() == '') {
$('#emailPassSubmit').prop('disabled', true);
} else {
$('#emailPassSubmit').prop('disabled', false);
}
});
});
</script>
这是表单的第一页,并在其他 2 个步骤中重复相同的步骤。截至目前,它禁用了按钮但没有启用它。
【问题讨论】:
-
使用 keyup() 代替 onkeyup() 并检查您获得的值,但您可以使用 $('#emailPassSubmit').prop('disabled', $(this).val( ) == '');我认为你应该使用 change() 事件
-
您要禁用直到所有字段都填满?
-
这是你想要的吗? fiddle.jshell.net/yyH9A
-
感谢您的回复,这是 onkeyup() 的问题。
标签: jquery forms disabled-input