禁用按钮,直到完成所有必填字段

时间:2016-04-30 12:36:23

标签: javascript jquery

我有一个包含95个表单字段的表单,其中一些是必填字段,其中一些是可选的。我想禁用提交按钮,直到完成所有必填字段。

有很多解决方案,但我正在寻找一个将在输入中扫描所需标志的解决方案,因为我真的不想列出所有95个字段,如果我可以帮助它。

这可以用jQuery或其他东西吗?

非常感谢,

约翰

1 个答案:

答案 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>