形成无线电盒ajax值

时间:2010-09-13 22:02:54

标签: ajax

我编写了一个动态计算价格的表格。 您可以选择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的总和。

我需要改变什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

当您在PHP页面中获取get变量时,您使用的是'p1'和'p2'。看起来你的Ajax的网址被设置为price.php?pbasic=" + document.getElementById('p1').value + "&ppro=" + document.getElementById('p2').value所以看起来有一些混淆名称。