0

私は普通のボタンを持っています:

<button value="finish_with_send" class="finish_with_send">Send</button>

送信する前に2つのフィールドを検証する必要があるため、このボタンを次のように置き換えました。

<a href="javascrtip:void(0)" class="finish_with_send">Send</a>

そして検証:

$(".finish_with_send").click(function() {
if(!$("#feedback_string").val() || !$("#feedback_title_string").val()) {
        // Validation failed, do something  
    } else {
        // Validation suceeded, submit
    }
})

問題は、送信タイプを認識するために値が表示された前のボタンと同じように送信する必要があることです。

value="finish_with_send"

jQueryでこれを再び行う方法はありますか?

4

2 に答える 2

1

あなたの<button>(または<input type="submit">より大きなブラウザサポートのために私がお勧めするものに行く)を維持してください...あなたのjavascriptを次のように変更してください:

$(".finish_with_send").click(function(event) {
if(!$("#feedback_string").val() || !$("#feedback_title_string").val()) {
        event.preventDefault(); //Stop it submitting.
        return false;
    } else {
        return true; //Carry on.
    }
})​

submitそして、次のようなフォームにボタンを許可します。

<button type="submit" value="finish_with_send" class="finish_with_send">Send</button>

event.preventDefault()イベント発生のデフォルトアクションを停止します。デフォルトアクションの場合は<button type="submit">、フォームを送信します。

実例: http: //jsfiddle.net/JUSsf/1/

于 2012-10-21T18:25:48.970 に答える
0

を使用して送信をトリガーできます$('#formID').submit()

ボタンを保持すると、フォーム送信ハンドラー内で検証を管理できます。ユーザーがボタンをバイパスしてフォーム内で「Enter」を押した場合に役立ちます。

$('#formID').submit(function() {
    if (!$("#feedback_string").val() || !$("#feedback_title_string").val()) {
        // Validation failed, do something 
        return false; /* stop browser submitting*/
    }

})​
于 2012-10-21T18:30:55.890 に答える