2017-06-15 6 views
-2

この機能は、チェックボックスをオンにすると効果的ですが、else節ではチェックを外しません。javascriptのチェックボックスをオフにする

function checkOLR() { 
     if (document.getElementById('co_month') !="" || document.getElementById('regfee') !="" || document.getElementById('pp_email') !="") { 
       // Check 
      document.getElementById("mycheckbox").checked = true; 
     } else { 
      // Uncheck 
      document.getElementById("mycheckbox").checked = false; 
     } 
    } 

3つの入力フィールドのそれぞれには、onchange = 'checkOLR'ステートメントがあります。私は何を間違えたのですか?

+4

'co_month'は入力ですか?もしそうなら、オブジェクトの 'value'プロパティを使う必要があります。 – BenM

+0

実際のコマンドを実行するだけで、チェックボックスをオンにしてチェックを外すと、if文でエラーになります。 – Ryan

+0

関連するすべてのコード(HTMLも同様)を表示します。 –

答えて

0

ifステートメントでチェックしている要素が入力であると仮定すると、オブジェクトのvalue属性を使用して、これらのフィールドの値をチェックする必要があります。そうでない場合、要素は空の文字列と等しくないため、if()ステートメントは常にtrueを返します。

function checkOLR() 
{ 
    if(document.getElementById('co_month').value != "" || document.getElementById('regfee').value != "" || document.getElementById('pp_email').value != "") 
    { 
     // Check 
     document.getElementById("mycheckbox").checked = true; 
    } 
    else 
    { 
     // Uncheck 
     document.getElementById("mycheckbox").checked = false; 
    } 
} 
関連する問題