1

いくつかのフォーム フィールドと [保存] ボタンがあります (送信タイプではありません)。を使用して HTML5 に必要な検証を実装したい

ただし、通常のボタンではなく、送信ボタンでのみ機能するようです。

[保存] ボタンにカスタム コードがあるため、[送信] ボタンを使用できません

$("#saveForm").click(function(){
        saveFormData();
        showView('detailsView','editView');
        setFormFieldValues();
    })

通常のボタンで同じことを達成するにはどうすればよいですか?

4

4 に答える 4

1

送信ボタンを使用できると思います。このように最後に return false を追加するだけです:

$("#saveForm").click(function(){
    saveFormData();
    showView('detailsView','editView');
    setFormFieldValues();
    return false;     //stops the form being submitted
})
于 2013-03-10T15:47:15.847 に答える
0

フォームの送信イベントにカスタムコードを追加することをお勧めします。

$("form").on("submit",function(event){

    saveFormData();
    showView('detailsView','editView');
    setFormFieldValues();




});
于 2013-03-10T15:42:15.367 に答える
0

フォーム送信イベントを使用して、デフォルトの動作(サーバーへの投稿)を防ぐことができますe.preventDefault();

$("form").on("submit",function(e){
    e.preventDefault();
    saveFormData();
    showView('detailsView','editView');
    setFormFieldValues();
});
于 2013-03-10T15:49:05.640 に答える
0

これはどのように?

$("#saveForm").click(function(event){

    var emptyFields = $('input').filter('[required][value=""]');
    if (emptyFields.length === 0) {
       /* valid code here */
    } else {
       /* invalid code here */
       event.preventDefault(); // this stops the click event;
    }
}

を使用して空のフィールドをループできますemptyFields.each()

于 2013-03-10T15:42:35.040 に答える