1

この単純なJavascriptコードに問題があります。

function select_checkbox(i)
{
    switch(i)
    {
        case 3: 
        if (document.upload_form.3.checked=true)
        {   
            document.upload_form.4.checked=true; 
            document.upload_form.4.disabled=true; 
            document.upload_form.5.checked=true; 
            document.upload_form.5.disabled=true;
        }

        if (document.upload_form.3.checked=false)
        {   
            document.upload_form.4.checked=false; 
            document.upload_form.4.disabled=false; 
            document.upload_form.5.checked=false; 
            document.upload_form.5.disabled=false;
        }  

        break;

        [other code]

このHTMLコードに関連付けられています:

     <input type="checkbox" name="3" onclick="select_checkbox(3)" />
     <input type="checkbox" name="4" onclick="select_checkbox(4)" /> 
     <input type="checkbox" name="5" onclick="select_checkbox(5)" />

私はこれをしたいと思います:

  • チェックボックス「3」を選択した場合は、4と5をオンにして無効にします
  • チェックボックス「4」を選択した場合は、3をオンにして無効にします+5をオフにして無効にします
  • チェックボックス「5」を選択した場合は、チェックを外して3と4を無効にします
  • 選択されていない場合は、再度有効にしてすべてのチェックを外します

コードの最初の部分(チェックボックス「3」の部分のみを報告します)は正常に機能しますが、チェックボックスをオフにして構成を復元する際に問題が発生します。

4

2 に答える 2

1
if (document.upload_form.3.checked=true)
{ 
}

should be replaced by

if (document.upload_form.3.checked==true)
{
}

それは==でなければなりません

于 2012-09-19T20:41:01.213 に答える
1

ドット構文を介して数字で始まるプロパティにアクセスすることはできません。構文を使用して[]ください。また、ifステートメントで比較ではなく割り当てを行っています。

    function select_checkbox(i)
    {
        switch(i)
        {
            case 3: 
            if (document.upload_form['3'].checked)
            {   
                document.upload_form['4'].checked=true; 
                document.upload_form['4'].disabled=true; 
                document.upload_form['5'].checked=true; 
                document.upload_form['5'].disabled=true;
            }

            if (!document.upload_form['3'].checked)
            {   
                document.upload_form['4'].checked=false; 
                document.upload_form['4'].disabled=false; 
                document.upload_form['5'].checked=false; 
                document.upload_form['5'].disabled=false;
            }  

            break;

                            [other code]
于 2012-09-19T20:45:58.723 に答える