繁体   English   中英

chrome,firefox和Internet Explorer中的Ajax和html事件

[英]Ajax and html events in chrome, firefox and Internet Explorer

我的购物车中有很多选择元素,当选择元素更改选项时,将监听onclick事件,并且将执行ajax函数displayCart。

<select name="price">
<option value="peryear" onclick="dispCart('y',2,1100);">1100 Dollar/year</option>
<option value="pertrimester" onclick="dispCart('t',2,300);" selected>300 Dollar/3 months</option>
   <option value="permonth" onclick="dispCart('m',2,120);">120 Dollar/month</option>
</select>

这是ajax函数:

function dispCart(b,c,price){
   var req1=new getXHR();
   var altr=Math.random();
   var url="cart.php?c="+altr+"&b="+b+"&c="+c+"&price="+price;
   req1.open('GET',url,true);
   req1.onreadystatechange=function(){
   if(req1.readyState==4){
     if(req1.status==200){
        document.getElementById("cart").innerHTML=req1.responseText;
   }
   }
   };
req1.send(null);
}

cart.php是一个控制器,该控制器使用某些功能进行连接以连接到数据库,更改购物车数据(例如,从每月的paiement更改为每年的paiement),然后刷新购物车并显示具有更改的新购物车。

问题在于此购物车可与FF完美搭配使用,但对于IE和chrome,它无法执行dispCart javascript函数。

我不知道为什么?

先感谢您。

在IE中,您不能在<option>元素上绑定事件。 您应该将事件绑定到<select>元素,然后找出<select>了哪个选项。

这是使用onchange的示例

使用onchange作为select ,而不是onclick作为option

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM