2013-03-14 14 views
0

我有一個表單在用戶單擊提交後檢查有效字段。它看起來像這樣:如何在無錯誤後捕獲表單提交?

<form class="form-horizontal" method="post" action="#" name="basic_validate" id="basic_validate" />    
    <div class="control-group"> 
     <label class="control-label">Email Recipients</label> 
     <div class="controls"> 
      <input type="text" name="emailreceipients" id="emailreceipients" /> 
     </div> 
    </div> 
    <div class="form-actions"> 
     <input type=submit value="Send" id="sendbtn" class="btn btn-primary" /> 
    </div> 
</form> 

如果發現錯誤,則會向該字段添加名爲'error'的類。

我怎樣才能捕捉到表單提交的所有錯誤已經被移除之後(例如,用戶輸入的所有數據)

這裏是驗證調用獲取表單提交後擊中:

// Form Validation 
$("#basic_validate").validate({ 
    rules:{ 
     required:{ 
      required:true 
     }, 
     emailreceipients:{ 
      required:false 
     } 
    }, 
    errorClass: "help-inline", 
    errorElement: "span", 
    highlight:function(element, errorClass, validClass) { 
     $(element).parents('.control-group').addClass('error'); 
    }, 
    unhighlight: function(element, errorClass, validClass) { 
     $(element).parents('.control-group').removeClass('error'); 
     $(element).parents('.control-group').addClass('success'); 
    } 
}); 

我已經嘗試這樣的事情:

$("#sendbtn").click(function (e) { 
    e.preventDefault(); 

    if ($("#basic_validate").children('.control-group').hasClass('error')) { 
     alert("Error Seen"); 
    } 
    else { 
     // Process Form 
    } 
}); 

任何想法我可以做到這一點?

+2

其他{ $( 「#basic_validate」)提交()。 } – Hackerman 2013-03-14 19:35:17

+0

我的問題是,在提交表單並突出顯示錯誤字段之前,它沒有發現錯誤。 – user1216398 2013-03-14 19:47:28

回答

1

使用jQuery的submit()

$("#basic_validate").submit(); 
+0

這是缺少的一塊,我認爲提交按鈕是這樣做的,但我認爲我的點擊事件是以某種方式攔截它......謝謝! – user1216398 2013-03-14 19:51:30

+0

'e.preventDefault();'是停止提交按鈕來做它的事情。所以我們告訴它用'.submit();' – 2013-03-14 19:52:48

+0

做它的事情我發誓我試着評論e.preventDefault()並看到相同的結果,但可能不是。 – user1216398 2013-03-14 19:54:29

0

你想要做什麼處理?如果你只想讓形式自然提交通過驗證後,你可以

return true;