【发布时间】:2015-05-05 19:04:42
【问题描述】:
我的这段代码在 PC 上运行良好,但在我的 iPad 上无法运行(我认为它也无法在任何移动设备上运行)。我已经尝试过使用 Safari 和 Chrome,但没有任何运气。
HTML:
<input name="Service" type="radio" value="110" onchange="update_cart(this.value, Service2.value )" />
<input name="Service" type="radio" value="111" onchange="update_cart(this.value, Service2.value )" />
<input name="Service2" type="radio" value="112" onchange="update_cart(Service.value, this.value)" />
<input name="Service2" type="radio" value="113" onchange="update_cart(Service.value, this.value)" />
JavaScript:
function update_cart(radio1,radio2) {
if (Service == "" || ID_Service == "") {
document.getElementById("Cart").innerHTML = "";
return;
}
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
update = new XMLHttpRequest();
} else { // code for IE6, IE5
update = new ActiveXObject("Microsoft.XMLHTTP");
}
update.onreadystatechange = function() {
if (update.readyState == 4 && update.status == 200) {
document.getElementById("Cart").innerHTML = update.responseText;//fills Cart div with result
}
}
update.open("GET", "/new/update_cart.php?radio1=" + radio1 + "&radio2=" + radio2, true);
update.send();
}
我知道问题出在这里,因为函数 update_cart 只是接收具有“this.value”但没有另一个变量的变量,例如:当单击/点击第一个无线电时,函数接收 (110,undefined ),反之亦然,用于第二个收音机 (undefined,112)
我的问题是:我在这里做错了吗?这不应该在手机上工作吗?有什么解决方法吗?
编辑:现在我们有 4 个选项,我们的想法是能够使用您检查的新项目更新购物车,并且每次您点击另一个收音机时它应该更新购物车。
【问题讨论】:
-
那么,您是否希望单选按钮的行为类似于复选框?
-
事件 onchange 不是问题,所以我想我不必为 onblur 更改它,是的,对于这个例子,我希望收音机与众不同
-
将编辑代码以适应更现实的情况
-
@Raulnd 我强烈反对内联事件处理程序!但。这是你的选择。你想要some thing like this 吗?
-
@LShetty 看来这行得通,在关闭它之前会再尝试一下。
标签: javascript php jquery google-chrome safari