【问题标题】:How to enable and disable Twitter Bootstrap Button?如何启用和禁用 Twitter Bootstrap 按钮?
【发布时间】:2013-10-13 18:22:55
【问题描述】:

我正在尝试实现在单击按钮时禁用按钮,然后在 ajax 请求成功完成后再次启用它的场景。

下面是我的代码的sn-p。

表格

<button id="btnSubmit" type="submit" class="btn btn-warning btn-lg">Submit!</button>

Javascript

$('#resForm').validate({
  // disable submit button
  $('#btnSubmit').prop('disabled', true);

  submitHandler: function(form) {
    $.ajax({
      ..... typical ajax stuff .....
      success: function(data) {
        alert(data);
        $('success').html(data);
        // enable reserve button again
        $('#btnSubmit').prop('disabled', false);
      },
      error: function (jqXHR, textStatus, errorThrown) {
        // console.log(jqXHR);
      }
    });
  }
});

它不起作用。在 Chrome 上检查我的控制台告诉我Uncaught SyntaxError: Unexpected token (。感觉像是某个地方的愚蠢错误,我无法弄清楚。我已经读到prop 是用于 jQuery 1.6.1 及更高版本的,而我在 1.8.3 上。

【问题讨论】:

  • 错误是否指定了任何行?只需尝试在 firefox 的帮助下运行 firebug..它会告诉你确切的问题

标签: javascript jquery twitter-bootstrap button


【解决方案1】:

From my answer to another post in SO! 我想不出更简单/更容易的方法! ;-)


对于锚标签(链接):

<a href="#delete-modal" class="btn btn-danger" id="delete"> Delete</a>

启用锚标签:

 $('#delete').removeClass('disabled');
 $('#delete').attr("data-toggle", "modal");


要禁用 Anchor 标签:

 $('#delete').addClass('disabled');
 $('#delete').removeAttr('data-toggle');

【讨论】:

  • 你好。我不知道把这个以 $ 开头的代码放在哪里。说真的,我是这个东西的新手,你能指出一些资源或只是一个关键词让我搜索吗?非常感谢!
  • 在一个 js 函数中,你有你想要的条件!检查 Javascript 中的 if...else 语句!
【解决方案2】:

使用http://jsfiddle.net/ 检查您的代码。

试试:

$('#resForm').validate({
  submitHandler: function(form) {
// disable submit button
  $('#btnSubmit').prop('disabled', true);
    $.ajax({
      //..... typical ajax stuff .....
      success: function(data) {
        alert(data);
        $('success').html(data);
        // enable reserve button again
        $('#btnSubmit').prop('disabled', false);
      },
      error: function (jqXHR, textStatus, errorThrown) {
        // console.log(jqXHR);
      }
    });
  }
});

纠正错误:http://jsfiddle.net/shree/qB9aW/.JSHint 为您提供错误提示。

【讨论】:

    【解决方案3】:
    $('#resForm').validate({
    
    
      submitHandler: function(form) {
    // disable submit button
      $('#btnSubmit').prop('disabled', true);
        $.ajax({
          ..... typical ajax stuff .....
          success: function(data) {
            alert(data);
            $('success').html(data);
            // enable reserve button again
            $('#btnSubmit').prop('disabled', false);
          },
          error: function (jqXHR, textStatus, errorThrown) {
            // console.log(jqXHR);
          }
        });
      }
    });
    

    试试这个

    【讨论】:

    • 查看 .validate() api 它有一个明确的结构...你不能在其中添加 .prop...
    猜你喜欢
    • 1970-01-01
    • 2012-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-22
    • 1970-01-01
    相关资源
    最近更新 更多