我知道这个问题以前有人问过,但我不是编码员(试图学习),所以我找不到任何看起来像我网站编码的例子或答案通过以前的问题。
问题:我的表单应该填充汽车品牌,然后它会自动填充模型。(填充品牌后,模型工作正常)。
但是我必须在初始使表单的一部分上单击两次才能填充数据。
我的表单代码的顶部:
<td><b>Make:</b><br /> <span id="makesList"><select onclick="getMakes(<?php echo SITETYPE2 ?>)" onchange="getModels(this.value, <?php echo SITETYPE2 ?>)" class="required" id="makeid" name="makeid" >
Javascript/Ajax function
function getMakes(str)
{
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Your browser does not support AJAX!");
return;
}
var url="/getmakes.php";
url=url+"?typeid="+str;
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChangedMakes;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
你可以帮我吗?请记住,我不是编码员,只是想学习别人编码的内容。
谢谢马克
使用下拉列表(选择)的最佳方法是使用 onchange。由于您已经触发了onchange事件,因此我会使用鼠标向上,因为这发生在单击事件之前。此外,客户端和您的 Web 服务器之间可能只是存在延迟。尝试单击初始,然后单击屏幕外以查看是否出现下一批结果。
此外,您的 php echo 语句末尾没有分号。这应该给出一个错误