使用Ajax

时间:2016-08-04 18:22:35

标签: php mysql ajax

所以我是Ajax的新手,这是我第一次尝试使用它,希望有人可以帮助我找到我的错误。目标是我有一个车辆样式列表,在数据库中,我有与特定样式相关的Makes。因此,当选择带有样式的单选按钮时,它应该填充下拉列表,并使其与Makes关联。

我在Chrome上运行良好,但在IE和Safari等其他浏览器上遇到问题。

在此处使用Chrome浏览器的屏幕截图:Link
它的屏幕截图不适用于Safari:Link

表单名称是:autoForm 无线电字段有一个onclick事件来调用getMakes()。

这是我的功能:

function getMakes() {
       $.post('getMake.php', {
            vehicleStyle: autoForm.style.value
        },
        function(output) {
               $('#vehicle-makes').hide();
            $('#vehicle-makes').html(output).slideDown("slow");
        });
}

这是来自getMake.php的PHP

PDO/database stuff up here^^ Leaving it out of the example
$list = '<label for="vehicle_make">Makes</label>
              <select name="vehicle_make"
                    class="form-control"
                    onchange="getModels()">
                    <option value="">Select One</option>';

    foreach ($results as $result) {
        $list .= '<option value="'.$result->make.'">'.$result->make.'</option>';
    }

    $list .= '</select>';

    echo $list;

正如您所看到的,它正在与getMakes.php进行通信,因为它正在引入空的下拉列表 - 但看起来它并没有将数据发送到PHP以从数据库中提取相关数据。

感谢所有帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

所以我想到的是,这在IE和Safari中不起作用:

vehicleStyle:autoForm.style.value

我必须以不同的方式获得输入的值,并且它有效。