我有一个包含95个表单字段的表单,其中一些是必填字段,其中一些是可选的。我想禁用提交按钮,直到完成所有必填字段。
有很多解决方案,但我正在寻找一个将在输入中扫描所需标志的解决方案,因为我真的不想列出所有95个字段,如果我可以帮助它。
这可以用jQuery或其他东西吗?
非常感谢,
约翰
答案 0 :(得分:1)
(function() {
$('form > input').keyup(function() {
var empty = false;
$('form > input[required]').each(function() {
if ($(this).val() == '') {
empty = true;
}
});
if (empty) {
$('#register').attr('disabled', 'disabled');
} else {
$('#register').removeAttr('disabled');
}
});
})()
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
<form>
Username<br />
<input type="text" id="user_input" name="username" required /><br />
Password<br />
<input type="password" id="pass_input" name="password" required /><br />
Confirm Password<br />
<input type="password" id="v_pass_input" name="v_password" required /><br />
Email<br />
<input type="text" id="email" name="email" required/><br />
name<br>
<input type="text" id="name" name="name"/> optional<br />
<input type="submit" id="register" value="Register" disabled="disabled" />
</form>
<div id="test">
</div>