1

データグリッド ビューのチェックボックスがオンまたはオフのときに JavaScript 関数を呼び出す VB.NET Web ページがあります。このコードは、私のコンピューターとさらに数人のコンピューターで正常に動作します。しかし、ほとんどの人にとって、チェックボックスをオンまたはオフにしても、javascript 関数はまったく呼び出されません。これらのコンピューターはすべて Windows 7 で、IE 9 を使用しています。また、[IE] -> [インターネット オプション] -> [詳細設定] タブも確認しましたが、これらのコンピューターの設定は同じです。この時点で、私はこれについてのアイデアがなく、Google は有用な結果を返しません。誰かがこの問題を解決するのを手伝ってくれれば、本当に感謝しています。それが役立つ場合は、JavaScript関数のコードを次に示します。

function SelectLineItem(pRowIndex)
{
    var vGridView=document.getElementById('dgvFSOView');
    var vLen=vGridView.rows.length;
    var i=parseInt(pRowIndex)+1;
    var intcount;
    var vtxtFcheckbox=vGridView.rows[parseInt(pRowIndex)].cells[0].getElementsByTagName("input")[0].id;
    var vFCheckbox=document.getElementById(vtxtFcheckbox); 
    var browser=navigator.appName;
    for(intcount=i;intcount<=vLen-1;intcount++)
    {
        if ((document.getElementById('hifCheck').value=="ALL") || (document.getElementById('hifCheck').value=="-1"))
        {
            var vtxtSONO=vGridView.rows[intcount].cells[3].innerText;
        }
        else if((document.getElementById('hifCheck').value!="ALL") || (document.getElementById('hifCheck').value=="-1"))
        {
            var vtxtSONO=vGridView.rows[intcount].cells[2].innerText;
        }
        if(vtxtSONO=="")
        {     
           if ((document.getElementById('hifCheck').value=="ALL") || (document.getElementById('hifCheck').value=="-1"))
           {
               var vtxttocheckbox=vGridView.rows[intcount].cells[14].getElementsByTagName("input")[0].id;
            }
            else
            {
                var vtxttocheckbox=vGridView.rows[intcount].cells[13].getElementsByTagName("input")[0].id;
            }
            var vTCheckbox=document.getElementById(vtxttocheckbox); 

            if(vFCheckbox.checked==true)
            {
                vTCheckbox.checked=true;
            }
            else
            {
                vTCheckbox.checked=false;
            }
      }
      else
      {
       return false;
      }

}

}

4

2 に答える 2

1

これは、ユーザーが自分のコンピューターに対して持っているアクセス許可に問題がある可能性があります。セキュリティ設定には、ユーザーがマシンをどのようにセットアップしたかによって異なるさまざまなレベルのアクセス許可があります。

コードをローカルで実行している場合 (IE: ローカルの .html ファイルをダブルクリック)、ページ上で JavaScript を実行する前に、Javascript を有効にする必要があることがよくあります。Web サイト (IE: www.example.com/mypage.asp) でホストされている場合、これは問題になりません。

この関数をどのように呼び出していますか? IE に組み込まれている開発者ツールを使用して、スクリプトの完了を妨げるエラーが発生しているかどうかを確認することもできます。

jQuery のようなクロス ブラウザ互換のフレームワークを利用すると、チェックボックスの変更イベントのトリガーに役立つ場合がありますが、プロジェクトの複雑さによってはやり過ぎになる可能性があります。

于 2013-01-09T00:46:58.297 に答える
0

clickチェックボックスは、イベントを確実にトリガーしません。change代わりに、関数をチェックボックスのイベントにバインドしてください。

于 2013-01-09T00:52:03.577 に答える