2011-04-08 51 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设置。 其工作正常,没有问题,但如果有人有更好的解决方案,请分享。