2014-10-18 5 views
0

CRM을위한 양식이 여러 개있는 페이지가 있습니다. 각 양식에 이름이 붙여지기 때문에 문제는 없습니다. 그러나 $ .post()가 실행 된 후 제출 단추가 사용 불가능한 상태로 남아있는 문제가 발생합니다.아약스 게시 후 양식 제출 버튼을 사용할 수 없습니다.

다음은 현재 양식의 제출 버튼을 다시 활성화하는 일반적인 방법이 있나요 양식을 제출

$("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 줄을 추가하여 특성을 제거 하시겠습니까?

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

버튼은 실제로 html5'버튼'입니다. 비활성화 됨으로써, 버튼이 비활성화되어있는 것을 의미합니다. 즉, 클릭 할 수 없으며 "비활성화 됨"속성을 의미합니다. –

+0

유효성 검사기가 어딘가에서 뭔가를하고있는 것으로 보입니다. 제출 버튼을 클릭하면 두 번 작동하지만 다시 사용하려면 양식 데이터를 일부 변경해야합니다. 이 코드는'$ form.find ("button [type = submit]"버튼)을 추가 한 코드입니다. removeAttr ('disabled');''''json "'의 직전과'toastr.error (" 다시 저장하려고 시도하십시오. ","Failed "); –

0

나는 당신이 아마 초점을 맞추고 있었다 의미, 코드에서 버튼을 비활성화 속성을 볼 수 없습니다. 그 상황에서 당신은 단순히 요소에 대한 초점을 제거 할 수 있습니다 $('#form-button').blur();