2013-01-19 58 views
0

我有這樣的代碼在我find.php文件:

<select name="EmpName" required="required" id='empn'> 
    <option value="" style="display:none;"></option>  
    <?php 

    //get the employee id 
     $employeeId = $_POST['country']; 

    //make connection to database, bail if no connection 
    $connection = odbc_pconnect('db','',''); 
    if (!$connection) { exit("Connection Failed: " . $connection); } 

    //retrieve usernames and passwords 
    $sql = "SELECT EName FROM LoginTable WHERE EmployeeID='$employeeId'"; 

    $rs = odbc_exec($connection, $sql); 

    while(odbc_fetch_row($rs)) { 
     $rowJobNum = odbc_result($rs, 'EName'); 
     printf("<option value='%s'>%s</option>", $rowJobNum, $rowJobNum); 
    } 

?></select> 

我有這樣的代碼在我的index.php文件:

<script> 
function getXMLHTTP() { //function to return the xml http object 
     var xmlhttp=false; 
    try{ 
     xmlhttp=new XMLHttpRequest(); 
    } 
    catch(e) {  
     try{    
      xmlhttp= new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
     catch(e){ 
      try{ 
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
      } 
      catch(e1){ 
       xmlhttp=false; 
      } 
     } 
    } 

    return xmlhttp; 
} 



function getCity(strURL) {  

    var req = getXMLHTTP(); 

    if (req) { 

     req.onreadystatechange = function() { 
      if (req.readyState == 4) { 
       // only if "OK" 
       if (req.status == 200) {       
        document.getElementById('citydiv').innerHTML=req.responseText;      
       } else { 
        alert("There was a problem while using XMLHTTP:\n" + req.statusText); 
       } 
      }    
     }   
     req.open("GET", strURL, true); 
     req.send(null); 
    } 

} 
</script> 




</head> 

<body> 

<form method="post" action="" name="form1"> 
<table width="60%" border="0" cellspacing="0" cellpadding="0"> 
    <tr> 
    <td width="150">Country</td> 
    <td width="150"><select name="country" onChange="getCity('find.php?country='+this.value)"> 
    <option value="">Select Country</option> 
    <option value="1">mg05</option> 
    <option value="2">Canada</option> 
     </select></td> 
    </tr> 
    <tr style=""> 
    <td>City</td> 
    <td ><div id="citydiv"><select name="city"> 
     </select></div></td> 
    </tr> 

</table> 
</form> 
</body> 
</html> 

這是問題......我無法從第一個下拉菜單中訪問選擇,從下拉菜單中的選擇永遠不會通過find.php。作爲參考,mg05在下拉列表是僱員ID,我工作過,最初是格式化爲城市/州等在這裏的例子

這裏是我的大問題,如果我去:

$sql = "SELECT EName FROM LoginTable WHERE EmployeeID = '$employeeId'"; 

並將其更改爲

$sql = "SELECT EName FROM LoginTable WHERE EmployeeID= 'mg05'"; 

它完美,並返回正確的結果。所以......顯然,從index.php到find.php的數據不能工作,我不知道爲什麼。我有$_GET$_POST在我的網站的其他區域工作,但沒有這個。

任何有關我可能出錯的地方的見解?我試過使用get和post並沒有任何工作。

+0

你有沒有試圖改變'req.open(「GET」,strURL,真);''來req.open( 「POST」...'?另外,請確保在使用它們之前逃離POST和GET變量。 – jpumford

回答

1

問題是,您期望select中顯示的文本被髮布。如果所選擇的選項有一個值的屬性不會出現這種現象,屬性的值將被用於

<select name="country" onChange="getCity('find.php?country='+this.value)"> 
    <option value="">Select Country</option> 
    <option value="mg05">mg05</option> 
    <option value="Canada">Canada</option> 
</select> 
+0

哇,不敢相信我沒有注意到這一點,謝謝! – Hoser