2

我知道以前有人问过这个问题,但我不是编码员(试图学习),所以我无法通过以前的问题找到任何看起来像我的网站编码的示例或答案。

问题:我的表单应该填充汽车品牌,然后它会自动填充模型。(填充品牌后,模型工作正常)。

但是我必须在表单的初始部分上单击两次才能填充数据。

我的表单代码的顶部:

 <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);
}

你能帮助我吗?请记住,我不是编码员,只是想了解其他人编码的内容。

谢谢马克

4

1 回答 1

0

使用下拉菜单(选择)的最佳方法是使用 onchange。由于您已经触发了 onchange 事件,因此我将使用 mouseup ,因为它发生在单击事件之前。此外,客户端和您的 Web 服务器之间也可能存在延迟。尝试首先单击,然后单击屏幕以查看是否出现下一批结果。

此外,您的 php echo 语句末尾没有分号。这应该给出一个错误

于 2012-11-29T16:26:37.487 回答