我编写了一个动态计算价格的表格。 您可以选择2个包。
<input type="radio" id="p1" onclick="doWork();" name="package"/>
<input type="radio" id="p2" onclick="doWork();" name="package"/>
在Ajax中,我将值发送到php文件。
function doWork(){
httpObject = getHTTPObject();
if (httpObject != null) {
var url = "price.php?p1=" + document.getElementById('p1').value + "&p2=" + document.getElementById('p2').value;
httpObject.open("GET", url, true);
httpObject.send(null);
httpObject.onreadystatechange = setOutput;
}
}
在php文件中我做
<?php
$price = 0;
if ($_GET['p1'] == 'on') $price += 1;
if ($_GET['p2'] == 'on') $price += 2;
echo $price."$";
?>
在Safari中,它显示了合适的价格。但是在Firefox中我总是得到价格3.如果我选择1或2,它不会改变它总是1和2的总和。
我需要改变什么?
谢谢!
答案 0 :(得分:0)
当您在PHP页面中获取get变量时,您使用的是'p1'和'p2'。看起来你的Ajax的网址被设置为price.php?pbasic=" + document.getElementById('p1').value + "&ppro=" + document.getElementById('p2').value
所以看起来有一些混淆名称。