如何使用jquery禁用提交按钮

时间:2009-08-06 09:34:11

标签: jquery

我有一个简单的表格来检查用户针对变量

输入的邮政编码的值

我正在尝试禁用提交按钮并进行检查并发出警告消息,我无法弄清楚我做错了什么,任何帮助都会受到赞赏。

  <form id="post_code">
        <input name="textfield" type="text" id="postcode" size="14" maxlength="8" />
        <input type="image" id="submit_postcode" src="images/B_go.png" alt="Submit Postcode" width="59" height="24" border="0" />
  </form>


$(function() {

   $('form#post_code').submit(function() {

    var entered_post_code = $('form#post_code input#postcode').val();
    var post_code = "CV";
    if (entered_post_code == post_code) {
        alert("post code is ok");
        return true;
    }else {
        alert("post code is not ok");
        return true;
    }
    return false;   
});

});

6 个答案:

答案 0 :(得分:74)

W3C建议将该属性设置为disabled =“disabled”,所以:

$('#submit_postcode').attr('disabled', 'disabled');

可以通过删除属性来重新启用:

$('#submit_postcode').removeAttr('disabled');

将属性设置为任何值会导致它被禁用,甚至.attr('disabled','false'),因此必须将其删除。

答案 1 :(得分:4)

$('#submit_postcode').attr('disabled', 'disabled');

答案 2 :(得分:1)

如果匹配,则返回true,如果匹配,则返回true。永远不会到达return false行。

您可能希望将其中一个trues更改为false,并删除if / else块之外的行。

答案 3 :(得分:1)

这是我用来禁用或重新启用控件的代码:

function handleControlDisplay(className, foundCount, checked) {



    var button = jQuery(className);



    if (foundCount > 0 && foundCount == checked) {

        // enable

        button.removeAttr("disabled");

    }

    else {

        // set the disabled attribute

        button.attr("disabled", "true");

    };

}

答案 4 :(得分:0)

var entered_post_code = $('form#post_code input#postcode').val();
// rewrite as
var entered_post_code = $("#post_code input[id=postcode]").val();

如果邮政编码不正确,您应该返回false。没有?

可能是你的,如果它从未解决为真,它总是返回false。 submit()函数的用法是正确的。

答案 5 :(得分:-3)

//disable
$('#submit_postcode').attr('disabled', true);

//re-enable
$('#submit_postcode').removeAttr('disabled');