2014-10-18 108 views
0

對於我正在構建的CRM,我有一個包含多個表單的頁面。每個表格都被命名等等,所以在這方面沒有問題。然而,我在$ .post()之後遇到了一個問題,提交按鈕保持禁用狀態。表單提交按鈕在ajax後保持禁用狀態

下面是我的通用後處理表單提交

$("form") 
     .bootstrapValidator() 
     .on('success.form.bv', function(e) { 
      // Prevent form submission 
      e.preventDefault(); 

      // Get the form instance 
      var $form = $(e.target); 

      // Get the BootstrapValidator instance 
      var bv = $form.data('bootstrapValidator'); 
      console.log($form.serialize()); 
      $.post("/post/", $form.serialize(), function(data) { 
        if(data) { 
         toastr.success("The form data has been updated.","Form Saved"); 
        } else { 
         toastr.error("Please try to save again.","Failed"); 
        } 
       } , "json" // I expect a JSON response 
      ).error(function() { 
        toastr.error("Please try to save again.","Failed"); 
      }); 

    }); 

有沒有一種通用的方法來重新啓用當前表單的提交按鈕。有很多嵌套的HTML,因此按鈕的位置因形式而異。

在此先感謝。

回答

1

我不確定什麼是您禁用的手段,是否意味着禁用了html標記?

如果是這樣可以使用Jquery刪除禁用的attr?

在你的$ .post函數下添加這個jquery行來刪除Attribute?

$.post("/post/", $form.serialize(), function(data) {  
    $form.find("input[type=submit]").removeAttr('disabled'); 
+0

該按鈕實際上是html5'按鈕'。通過禁用,我的意思是按鈕被禁用,又名,不可點擊,具有「禁用」屬性。 – 2014-10-18 16:11:42

+0

似乎驗證者正在某處做某事。如果我點擊提交按鈕,它會工作兩次,但是需要對錶單數據進行一些更改才能重新啓用。這是我添加的代碼'$ form.find(「button [type = submit]」)。removeAttr('disabled');'就在'},「json」'之前,也就在'toastr.error(「Please嘗試再次保存。「,」失敗「);' – 2014-10-18 16:16:26

0

我沒有看到按鈕禁用財產在你的代碼,你很可能意味着它停留集中。在這種情況下,你可以簡單地刪除重點元素$('#form-button').blur();