OnClick 事件在 Chrome 中不起作用

OnClick event doesn't work in Chrome

本文关键字:不起作用 Chrome 事件 OnClick      更新时间:2023-09-26

我编写了以下代码以在我的页面上有一个选择列表:

<select id='defchtype' class='selectpicker form-control' style='width:80%;'>
    <option id='Pie' onClick='changechart(".$_GET['id'].",'"Pie'")'>Pie</option>
    <option id='Line' onClick='changechart(".$_GET['id'].",'"Line'")'>Line</option>
    <option id='Bar' onClick='changechart(".$_GET['id'].",'"Bar'")'>Bar</option>
    <option id='Odometer' onClick='changechart(".$_GET['id'].",'"Odometer'")'>Odometer</option>
    <option id='Radar' onClick='changechart(".$_GET['id'].",'"Radar'")'>Radar</option>
</select>

当我使用Mozilla Firefox浏览器时,这是正确的工作。 但是当我使用谷歌浏览器时,OnClick 事件(更改图表功能)不会执行。 我该如何解决? 谢谢这是我渲染的 HTML 代码的一部分:

<select id='defchtype' class='selectpicker form-control' style='width:80%;'>
        <option id='Pie' onClick='changechart(126,"Pie")'>Pie</option>
        <option id='Line' onClick='changechart(126,"Line")'>Line</option>
        <option id='Bar' onClick='changechart(126,"Bar")'>Bar</option>
        <option id='Odometer' onClick='changechart(126,"Odometer")'>Odometer</option>
        <option id='Radar' onClick='changechart(126,"Radar")'>Radar</option>
</select>

这是我的JavaScript函数:

function changechart(id,chtype){
    var xmlhttp;
    if (window.XMLHttpRequest)
      {
          xmlhttp=new XMLHttpRequest();
      }
      else
      {
          xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
      xmlhttp.onreadystatechange=function()
      {
          if (xmlhttp.readyState==4 && xmlhttp.status==200)
          {
              //response="server/img/useravatars/"+xmlhttp.responseText;
              response=xmlhttp.responseText;

            document.getElementById("chartcontainer").innerHTML=response;
              document.getElementById(chtype).selected="true";
          }
    }
    var req="showchart.php?id="+id+"&chtype="+chtype;
    xmlhttp.open("GET",req,true);
    xmlhttp.send(); 
}

JavaScript函数甚至不能在Chrome中执行。 但是在Firefox中工作是正确的

不应在option元素中使用onClick事件。改用选择的onchange事件,如此问题中所述:javascript onclick 警报在 chrome 中不起作用。