2013-10-09 16 views
8

フォームを送信するボタンがフォームの外にあるため、<input type="submit">のない単純なHTML5フォームがあります。フォームには、required="required"プロパティが設定された入力がいくつかあります。jQuery submit関数が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

関連する問題