Php 单击两次以填充表单

Php 单击两次以填充表单,php,javascript,ajax,forms,Php,Javascript,Ajax,Forms,我知道以前有人问过这个问题,但我不是一个程序员(试图学习),所以我找不到任何例子或答案,看起来像我的网站通过前面的问题编码 问题是: 我的表单应该填充汽车品牌,然后它会自动填充模型。(填充make后,模型工作正常) 但是我必须在表单的初始生成部分上单击两次,以便填充数据 我的表单代码的顶部部分: <td><b>Make:</b><br /> <span id="makesList"><select onclick="getMak

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

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

但是我必须在表单的初始生成部分上单击两次,以便填充数据

我的表单代码的顶部部分:

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

Make:
使用下拉列表(选择)的最佳方法是使用onchange。由于onchange事件已经触发,我将使用mouseup,因为这发生在click事件之前。此外,客户机和web服务器之间可能存在延迟。尝试最初单击,然后单击屏幕以查看是否会出现下一批结果


另外,php echo语句的结尾没有分号。这应该会产生一个错误

问题是,在我看来,在dropdownlist中使用事件onClick并不是一个好主意,我想有一种不用点击两次就可以获得数据的方法。那会有麻烦的。谢谢你的建议。作为一名非程序员,我理解这个概念,但没有能力将其转化为有效的代码。再次感谢。没有服务器延迟