2011-04-08 39 views
0

產生的元件貼這是HTML形式值沒有得到由AJAX類

echo "<tr><td>Course</td><td><select name='Course' onchange='branch_selector(this.value)'>"; 
      echo "<option value='B.Tech'>B.Tech</option>"; 
      echo "<option value='M.Tech'>M.Tech</option>"; 
      echo "<option value='MBA'>MBA</option>"; 
      echo "<option value='MCA'>MCA</option>"; 
      echo "</select></td></tr>"; 
echo "<tr><td><div id='branch_div_name'></div></td><td><div id='branch_div'></div></td></tr>"; 

這是JavaScript代碼

function branch_selector(val) { 
    if(val=='B.Tech' || val=='M.Tech') { 
     show_name('branch_div_name','Branch'); 
     var xmlhttp; 
     if (window.XMLHttpRequest) 
     {// code for IE7+, Firefox, Chrome, Opera, Safari 
      xmlhttp=new XMLHttpRequest(); 
     } 

     else 
     {// code for IE6, IE5 
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
     xmlhttp.onreadystatechange=function() 
     { 
      if (xmlhttp.readyState==4 && xmlhttp.status==200) 
      { 
       document.getElementById('branch_div').innerHTML=xmlhttp.responseText; 
      } 


     }  
     xmlhttp.open("GET","branch_selector.php",true); 
     xmlhttp.send(); 

    } 
    else { 
     document.getElementById("branch_div").innerHTML=""; 
     disappear_name('branch_div_name'); 
    } 
} 

這是PHP代碼運行在backened

$result = mysql_query("SELECT DISTINCT Branch FROM student_main ORDER BY Branch ASC") or die(mysql_error()); 
echo "<select name='Branch' id='Branch' onchange='harb()'>"; 
while($row = mysql_fetch_array($result)) { 
    if($row[0]=='' or $row[0]=='N/A') { 
     continue; 
    } 
    else { 
    echo "<option value='".$row[0]."'>".$row[0]."</option>"; 
} 
} 

echo "</select>"; 

生成下拉框沒有任何問題。但是當提交表單時,$ _POST ['Branch']沒有設置。 請幫忙

+0

代碼生成的標記是什麼樣的? 「

」中包含「 hsinxh 2011-04-08 15:13:45

回答

0

好的,我已經解決了這個問題,解決方案不是最好的,但它完成工作。 我現在使用的是隱藏字段,值是根據Branch的值設置的。當用戶點擊提交時,該值使用Javascript設置。 其工作正常,沒有問題,但如果有人有更好的解決方案,請分享。