使用submitHandler禁用提交按钮

时间:2013-08-02 13:00:53

标签: jquery jquery-validate

我正在尝试停止多次单击提交按钮,并将相同的项目多次上传到MySQL。

由于验证不起作用,我根本无法按下按钮提交按钮。这意味着我无法测试代码。

我正在运行相关帖子here,以便为您提供更多信息。

到目前为止,我使用jQuery验证:

$("#UploadForm").validate({

errorLabelContainer: "#messageBox",
        wrapper: "td",
        rules: {
            auction_description: {
                required: true
            },
            auction_int_postage_type: {
                required: true
            },
            listing_type: {
                required: true
            }
        }

   //all your options here

   submitHandler:function(form){
       $('#submit').attr('disabled','disabled');
   }
});

HTML

 <form method="post" name="UploadForm" id="UploadForm"
 action="upload.php" enctype="multipart/form-data" >


 <input style="text-transform:none;"  type="text" class="button_date" 
 name="auction_bin_price" id="auction_bin_price" value="" size="15" />

 <input class="button2" style="border-right:none; font-size:13px;"
 name="List Item" id="submit" type="submit" value="List Item"/>

 </form>

1 个答案:

答案 0 :(得分:3)

以下是 fiddle ,其中包含解决您问题的解决方案。

jQuery 1.6 +

要更改disabled属性,您应使用.prop()功能。

$("#submit").prop('disabled', true);
$("#submit").prop('disabled', false);

jQuery 1.5及以下

.prop()功能不存在,但.attr()的功能类似:

设置已禁用的属性。

$("#submit").attr('disabled','disabled');

再次启用

$("#submit").removeAttr('disabled');

在任何版本的jQuery

如果你只处理一个元素,你总是可以依赖实际的DOM对象,并且可能比其他两个选项快一点:

// assuming an event handler thus 'this'
this.disabled = true;

使用.prop().attr()方法的好处是您可以为一堆选定项目设置属性。