jQuery - 在提交时禁用按钮的正确方法

时间:2013-08-28 12:52:43

标签: jquery

我的问题是,在单击表单提交的任何按钮后,使用jQuery在页面上实现禁用按钮的最佳方法是什么。 这里有类似的东西Is js executed after form synchronized submit,其中声明我的代码(1。)“可以”运行。 所有代码都已准备就绪。

  1. 我在项目中看到了类似的代码,但是它是否真的保证会调用最后一行 - 按钮(“禁用”)?

    $("#saveButton").on("click", function () {
        $("#myForm").submit();
        $("#saveButton").button("disable");
    });
    
  2. 替代方案就是这样(如果按钮被禁用,可能会有问题,但是他的最后一行也可能失败,所以它并没有真正“感觉良好”。

    $("#saveButton").on("click", function () {
        $("#saveButton").button("disable");
        $("#myForm").submit();
    });   
    
  3. 这可能是最好的方法,对吗?可以有任何“陷阱”吗?

    $("#myForm").submit(function () {
        $("#saveButton").button("disable");
        // disable also all the elements that can do a submit
        return true;
    });
    

1 个答案:

答案 0 :(得分:1)

提交几乎是最好的方法,“一个”方法只给你一次机会,如果你的提交失败或没有验证你被卡住了

$('#myForm').on('submit',function () {
    $('#saveButton').button('disable');
    // disable also all the elements that can do a submit

    //Validate
    if (validate)
        return true;
    else  {
         //cancels submit
         $('#saveButton').button('enable');
         return false;
    }
});