【问题标题】:Disable button before Jquery.Validate and Enable it after JQuery.Validate method在 Jquery.Validate 之前禁用按钮并在 JQuery.Validate 方法之后启用它
【发布时间】:2019-09-10 12:46:47
【问题描述】:

我想在点击按钮后立即禁用它。目前,由于我相信 settimeout 功能,它需要几分之一秒才能禁用它。如果我删除它,它不会按预期工作。我在想的是,如果我在验证自身之前禁用该按钮,并且如果验证返回 false,那么我想再次启用该按钮。请帮我在验证之前如何禁用按钮?

<div class="leftcolumn formSaveArea">
    <input type="submit" value="Submit" id="submit2" class="blue button" />

jQuery("form").validate();
    if (jQuery("form").valid()) {
        setTimeout(function () { jQuery('input:submit').addClass("bluedisabled").removeClass("blue").attr("disabled","disabled"); }, 1);
    }

【问题讨论】:

  • 您应该使用submit 事件监听器,禁用submit 上的按钮,检查它是否有效,然后从按钮中删除disabled 属性,如果它无效或在提交之后。

标签: jquery html .net jquery-ui asp.net-mvc-3


【解决方案1】:

&lt;form&gt;提交时检查表单是否有效,如果有效则禁用提交按钮,否则不。

查看下面的示例代码:

HTML:

<form id="myform">
    <input type="text" id="name" name="name" /><br/>
    <input type="email" id="email" name="email" /><br/>
    <input type="submit" id="submit"  />
</form>

jQuery :

$(document).ready(function() {

 //form submit 
 $("#myform").submit(function() {
    //check form is valid or not
    if ($(this).valid()) {
        //if valid do not disable
        $('#submit').prop('disabled', false);  
    } else {
       //if not valid disable
        $('#submit').prop('disabled', true);
    }
 });

 //form validate 
 $("#myform").validate({
    rules: {
        name: {
            required: true,
            minlength: 4
        },
        email: {
            required: true,
            email: true
        }
    }
  });
});

【讨论】:

    猜你喜欢
    • 2018-02-19
    • 1970-01-01
    • 2013-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-29
    • 1970-01-01
    • 2018-10-01
    相关资源
    最近更新 更多