我想禁用提交按钮,直到所有字段都有值..

<html>
    <head>
        <title></title>
        <style type="text/css">
        </style>
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
        <script type="text/javascript">
        $(document).ready(function() {
            $('#register').attr("disabled", true);
        });
        </script>
    </head>
    <body>
        <form>
        Username<br />
        <input type="text" id="user_input" name="username" /><br />
        Password<br />
        <input type="text" id="pass_input" name="password" /><br />
        Confirm Password<br />
        <input type="text" id="v_pass_input" name="v_password" /><br />
        Email<br />
        <input type="text" id="email" name="email" /><br />     
        <input type="submit" id="register" value="Register" />
        </form>
        <div id="test">
        </div>
    </body>
</html>

推荐答案

Check out this jsfiddle.

HTML

// note the change... I set the disabled property right away
<input type="submit" id="register" value="Register" disabled="disabled" />

JavaScript

(function() {
    $('form > input').keyup(function() {

        var empty = false;
        $('form > input').each(function() {
            if ($(this).val() == '') {
                empty = true;
            }
        });

        if (empty) {
            $('#register').attr('disabled', 'disabled'); // updated according to http://stackoverflow.com/questions/7637790/how-to-remove-disabled-attribute-with-jquery-ie
        } else {
            $('#register').removeAttr('disabled'); // updated according to http://stackoverflow.com/questions/7637790/how-to-remove-disabled-attribute-with-jquery-ie
        }
    });
})()

这样做的好处是,不管表单中有多少输入字段,如果至少有1个字段是空的,它总是会保持按钮处于禁用状态.它还判断了.keyup()上的空白,我认为这使它的可用性更加方便.

Jquery相关问答推荐

在Click事件上将焦点设置为Kendo UI网格列筛选器文本框

使用带有 bootstrap 验证的 Ajax 函数时出现问题

jQuery ajax 调用默认超时值

使用 JSONP 时如何捕获 jQuery $.getJSON(或数据类型设置为jsonp的 $.ajax)错误?

在 JavaScript 中解析 URL

jQuery 与 ExtJS

jQuery获取表单字段值

如何同时使用 requireJS 和 jQuery?

iframe 仅显示页面的特定部分

Select 除第一个之外的所有子元素

使用 时如何从 select2 中获取选定文本

使用 jQuery 拖放防止单击事件

页面重新加载后,如何使用 twitter bootstrap 保持当前选项卡处于活动状态?

我如何知道 jQuery 是否有待处理的 Ajax 请求?

在Javascript中判断isEmpty?

变量首字母大写

jquery更改div类的样式属性

如何在 DOM 中移动 iFrame 而不会丢失其状态?

将多个参数传递给 jQuery ajax 调用

如何使用 jQuery 或仅使用 Javascript 将按钮重定向到另一个页面