0

单击一次后保存按钮将被禁用,但如果再次单击它,它会重新提交表单。我猜它永远不会到达 if 语句的第一部分。任何帮助,将不胜感激:

-block extra_scripts

:javascript

  function check_button(){ 
    var saveButtons = $('a[name=saveButton]');
    if (saveButtons.is(':disabled')) { 
      alert("disabled");
      return false;
    }
    else{
      $("#main_form").submit();
      saveButtons.attr("disabled", true);
    }
  }

-block main

  .btn-group.pull-right
    %a.btn.icon-save.btn-callout{
      :name => "saveButton",
      :id => "saveButton",
      :type => "submit",
      :onclick => "check_button()"
      }
      Save

请注意,saveButtons 包含两个按钮。一个用于页面顶部,一个用于底部。

4

3 回答 3

0

尝试saveButtons.attr("disabled", "disabled");

于 2013-07-24T13:28:08.940 回答
0

我猜只有输入元素可以:disabled(见这里

你可以试试if (saveButtons.attr("disabled"))

于 2013-07-24T13:48:20.273 回答
0

我在我的身上使用了这个: https ://stackoverflow.com/a/22557155/5475948

当然,我还有其他一些脚本检查我的元素以删除禁用的类。

<form method="post" id="valid">
    <input type="hidden" id="selected-product" name="selected-product" value="">
    <input type="hidden" id="step" name="step" value="1">
    <button type="submit" id="submitter" class="btn btn-green uppercase disabled">Valider</button>
</form>

<script>
//dom ready handler
jQuery(function ($) {
    //form submit handler
    $('#valid').submit(function (e) {
        //check atleat 1 checkbox is checked
        if ($('#submitter').hasClass('disabled')) {
            //prevent the default form submit if it is not checked
            e.preventDefault();
        }
    })
})
</script>
于 2015-10-30T13:48:31.133 回答