2011-01-11 5 views
0

私は利用規約のチェックボックス(chkTerms)にチェックを入れるまで、提出しないでください。除外されていない場合、フォームの提出を防ぐ最も良い方法は何ですか?asp.netの単一チェックボックスの妥当性確認

私はフォームタグにJavaScript関数を呼び出していますが、さまざまな理由からこれは私のマスターページに埋め込まれていますので、これはいいとは思いません。これは例えばjQueryで行うことができますか? おかげ

答えて

2

は、フォーム負荷にあなたの送信ボタンを無効にします。 チェックボックスがオンの場合にのみ有効にし、チェックボックスをオフにすると無効にします。

下の例を確認してください:

<input type="submit" id="btn" disabled="true" value="Submit"/> 
<input type="checkbox" id="chk" onchange="submitStatus();">Terms and Conditions</input> 

とスクリプト機能が

function submitStatus(){ 
    if(document.getElementById('chk').checked){ 
    document.getElementById('btn').disabled = false; 
    }else{ 
    document.getElementById('btn').disabled = true; 
    } 
} 
+0

...すべて私の他の検証がバイパスされ、フォームがとにかく提出された「有効」されると、あなたはおそらく、ボタンを無効にする原因になっているものにとして、ユーザーいくつかのフィードバックを与える必要があることを実際にしかし、はい、これは別の良いアプローチです。 – lonesomeday

+0

@lonesomeday - 提案ありがとう、私は答えを更新しました。 – niksvp

+0

ありがとう!私は最後にこのバリエーションを使用しました。 – conflab

2

はい、jQueryのでは、これは非常に簡単です:

$(document).ready(function(){ 
    $('#myform').submit(function(e){ // when the form is loaded 
     if (!$('input[name="chkTerms"]')[0].checked) { // if the input with the name "chkTerms" is not checked 
      e.preventDefault(); // prevent the form submission 
      // provide feedback to the user in some way 
     } 
    } 
}); 
0

ベストのものは使用してそれを行うことです検証jqueryのを使用することができますJQueryは、ボタンを無効にしてチェックボックスをオンにした場合のみ有効になります。ユーザーは、チェックボックスがオンになっている場合にのみボタンが有効になることを知ることができません。上記の同じコーディングを使用できます。

0

問題は、ボタンが

+0

回答ではなくコメントとして入力してください。あなたはそのようにフィードバックを得るでしょう。 –