2011-06-18 8 views
1

提出する前にユーザーがボタンをクリックしたかどうかを確認する必要があります。提出する前に確認する方法?

今すぐ 私は$(document).ready(function(){を使用しています。ボタンを押したかどうかを確認するコードを入れたいと思います。

この「ボタン」は、ボタンをクリックするだけで画像が変化する背景画像を持つ簡単なdivです。 if文を作成できるように変数を追加する必要があります。

私はJQにpreventDefault関数があることを知っていますが、それを処理するのに成功しませんでした。あなたは同じくらいあなたが望むようなイベントを提出する追加することができますヘルプ

答えて

0
$('#form_element').submit(function() { 
    return false; // do this if you don't want to submit the form 
}); 

ため

感謝。 1つ以上の送信イベントがfalseを返す場合、フォームは送信されません。

0

これはあなたの質問にお答えしますか?

$(document).ready(function(){ 
    $('#yourDiv').click(function() { 
     $('#yourForm').submit(); 
    }); 
}); 

"button div"にクリックハンドラを追加しました。クリックすると、フォームが送信されます。 だから、あなたは自分のdivボタン

5
jQuery('#yourForm').bind('submit',function(e){ 

    //do your test 
    //if fails 
    e.preventDefault(); 

}); 
0

はボタンが

<div id="divElement"> 
<input type="hidden" name="buttonIsClicked" value="0" /> 
</div> 

をクリックしてイベントハンドラを設定されているかどうかを保存する別の入力要素を追加し、フォーム内のボタンを提出する必要はありません。 divのために。

$("#divElement").click(function() { 
    $(this).children("input[name=buttonIsClicked]").val(1); 
}); 

div内にinput要素を追加すると、DOM全体ではなくdiv要素の下でのみ検索するだけで済むため、コードの実行速度が向上します。あなたが外でinput要素を配置したい場合は、あまりにもあなたが

$(myFormElement).submit(function() { 
    if($(this).find("input[name=buttonIsClicked]").val() == 0) 
    return false; 
    //proceed here if the button div is clicked 
} 
することにより、これをチェックすることができ、あなたのコードは、フォームの送信に

$(this).parent().find("input[type=buttonIsClicked]"); 

を使用することにより、最適化させることができ

関連する問題