2013-10-09 33 views
8

我有一個簡單的HTML5表單沒有<input type="submit">,因爲提交表單的按鈕不在表單本身之內。在表單中有幾個輸入,它們的屬性設置爲required="required"jQuery提交函數不會調用html5驗證

形式外的按鈕,我將提交貼有以下代碼:

$('#upgrade_submit').click(function(){ 
    $('#cc-form-modal').submit(); 
    return false; 
}); 

當單擊該按鈕,它不運行必填字段的正常HTML5驗證。我究竟做錯了什麼?有沒有辦法在「強制」提交之前檢查表單是否有效?

+0

相關也許:http://stackoverflow.com/questions/11866910/how-to-force-a-html5-form-validation-without-submitting-it-via-javascript-jquery – Sergio

+1

@Sergio這是非常相關的。如果我能想出一個不需要HTML5的解決方案,唯一的改進就是我會接受的答案。 – Icode4food

回答

12

我完成了我的目標,通過添加隱藏提交的輸入元素是這樣的:

<input type="submit" class="submit" style="display:none;"> 

然後我武官下面的代碼我外部提交處理。

$('#upgrade_submit').click(function(){ 
    $('#cc-form-modal .submit').click(); 
    return false; 
}); 

這將導致HTML5的驗證運行,顯示默認錯誤消息,並且一切正常!

+0

純粹的jQuery混亂。自2013年以來沒有其他方法? – cadavre