某些计算机上没有调用Javascript onclick

时间:2013-01-09 00:40:27

标签: javascript .net

我有一个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;
      }

}

}

2 个答案:

答案 0 :(得分:1)

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

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

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

利用jQuery之类的跨浏览器兼容框架可能会帮助您更改事件触发器,但根据项目的复杂程度可能会有些过分。

答案 1 :(得分:0)

复选框无法可靠地触发click事件。将您的功能绑定到复选框'change事件。