значение ajax радиоблока формы - PullRequest
0 голосов
/ 14 сентября 2010

Я запрограммировал форму, которая динамически рассчитывает цену. Вы можете выбрать между 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 голосов
/ 14 сентября 2010

Когда вы выбираете переменные get на своей странице PHP, вы используете 'p1' и 'p2'.Похоже, что URL вашего Ajax настроен на price.php?pbasic=" + document.getElementById('p1').value + "&ppro=" + document.getElementById('p2').value, поэтому кажется, что есть некоторые путаницы с именами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...