在第二次按钮单击按钮未重置

时间:2017-08-28 10:31:14

标签: javascript twitter-bootstrap

我遇到了bootstrap,validate和data-loading-text的问题。当您点击“保存”并且并非所有字段都正确时,必须重置按钮" $(' #save')。按钮('重置');"。另外"此字段是必填字段。"被放在场上。我这样做是通过" error.insertAfter(element);"请参阅以下有关验证的代码。

一切都在工作。当我第二次点击保存按钮时(仍然没有填写字段)按钮不再重置。

我该如何解决这个问题?

<button type="submit" id="save" name="save" value="ok" class="btn btn-success btn-fill btn-wd" data-loading-text="<i class='fa fa-spinner fa-spin'></i> SAVING"> SAVE</button>

<script>
  $('#save').on('click', function() {
      var $this = $(this);
      $this.button('loading');
  });
</script>

...

<script>
$(document).ready(function () {

var $validator = $("#new").validate({
  rules: {
    test: {
      required: true,
    }
  },
  errorPlacement: function(error, element) {
    $('#save').button('reset');
    error.insertAfter(element);
 }, 
});
}
</script>

2 个答案:

答案 0 :(得分:0)

我通过更改submitHandler的errorPlacement解决了这个问题。

<script>
$(document).ready(function () {

  var $validator = $("#new").validate({
    rules: {
      test: {
        required: true,
      }
    },
    submitHandler: function(validator, form, submitButton) {
      $('#save').button('loading');
      validator.defaultSubmit();
    },
  });
}
</script>

答案 1 :(得分:-1)

首先,我不知道任何名为&#39;按钮&#39;在你正在使用的Javascript中。

其次,所有javascript代码都应该在标记内。

第三,在编写onclick函数之前导入jquery。

它有一个答案here, Check this