2012-11-29 75 views
2

我知道這個問題以前曾被問過,但我不是一個編碼員(試圖學習),所以我找不到任何例子或答案,看起來像我的網站編碼通過以前的問題。兩次點擊填寫表格

問題: 我的表單應該填充汽車,然後它會自動填充模型。 (在製作完成後,模型可以正常工作)。

但我必須點擊兩次intial才能填充數據表單的一部分。

我的表單代碼的頂部:

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

你能幫助我嗎?請記住,我不是一名編碼員,只是想了解別人編碼的內容。

感謝 馬克

+0

問題是,id有一種方法來獲取數據,而無需點擊兩次 –

+0

在我看來,使用事件onClick在下拉列表並不是很好的理想。這可能會遇到麻煩。 – reporter

回答

0

做下拉菜單(選擇)的最好的事情就是使用電平變化。因爲你已經開啓了onchange事件,所以我會在點擊事件之前使用mouseup。此外,客戶端和您的Web服務器之間可能只有一段時間的延遲。嘗試單擊最初,然後單擊屏幕以查看是否出現下一批結果。

此外,您的php回聲語句在結尾處沒有分號。這應該會給出錯誤

+0

感謝您的建議。作爲一名非編碼員,我理解這個概念,但沒有能力將其轉化爲可行的代碼。再次感謝。沒有服務器延遲 –