1

我有一个vb.net网页,当检查或未选中数据杂志视图中的复选框时,该网页调用JavaScript函数。该代码在我的计算机上运行良好,也适用于更多人。但是对于大多数人来说,当他们选中或取消选中复选框时,根本不会调用 javascript 函数。所有这些计算机都是 Windows 7 并使用 IE 9。我还检查了 IE->Internet 选项->高级选项卡,这些计算机上的设置是相同的。在这一点上,我对此一无所知,谷歌也没有返回任何有用的结果。如果有人可以帮助我解决此问题,我将不胜感激。如果有帮助,这里是 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

这可能是用户在其计算机上拥有的权限的问题。安全设置具有不同级别的权限,这取决于用户如何设置他们的机器。

如果您在本地运行代码(即:双击本地 .html 文件),您通常需要启用 Javascript,然后才能在页面上运行任何 javascript。如果它托管在网站上(即:www.example.com/mypage.asp),那么这应该不是问题。

你怎么调用这个函数?您可能还想尝试使用 IE 内置的开发人员工具来查看是否发生任何错误,这会阻止您的脚本完成。

使用像 jQuery 这样的跨浏览器兼容的框架可能有助于您的复选框更改事件触发,但根据您的项目的复杂程度,可能会过度杀伤力。

于 2013-01-09T00:46:58.297 回答
0

Checkboxes do not reliably trigger the click event. Bind your function to the checkboxes' change event instead.

于 2013-01-09T00:52:03.577 回答