0

クリック時にフォームのアクションを変更するチェックボックスを作成しようとしています。チェックされているかどうかに応じてメッセージを警告するように設定することから始めていますが、何も起こりません。私を助けてください!

JavaScript:

function toggleAction(){
var check = document.getElementById('checkb').checked;
   if (checked == "1"){
    alert("is checked");
   }else{
    alert("is not checked"); }
}

HTML:

<INPUT TYPE="checkbox" id="checkb" onclick="toggleAction()">Add Another<br>
4

2 に答える 2

6

あなたの主な問題は、変数に名前を付けcheckたが、ifステートメントで を探したことですchecked.checked次に、はブール値 (trueまたはfalse) ですが、文字列 "1" と比較していることに注意してください。これはたまたま機能しますが、お勧めしません。

試す:

if (check) alert("is checked");
else       alert("is not checked");

getElementByIdハンドラーで明示的に使用するよりも、イベントを処理するチェックボックスへの参照を使用することをお勧めします。

document.getElementById('checkb').onclick = toggleAction;
function toggleAction(){
  if (this.checked) alert('yes');
  else              alert('no');
}

上記で、onclick="..."HTML 属性を使用する代わりに、JavaScript を使用してプログラムでイベント ハンドラーを割り当てた方法にも注目してください。これは「ベスト プラクティス」と見なされます。JavaScript を HTML に直接記述しないでください。

于 2012-08-15T19:36:07.823 に答える
1

if(checked == "1")は である必要がありますif(check)

于 2012-08-15T19:37:03.337 に答える