<script type="text/javascript" language="javascript">
var browse="";

function enableChoic(id){
    document.getElementById(id).disabled = false;
} //创建ajax
function GetXmlHttpObject() {
var xmlHttp=null;
try {
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}catch (e) {
  //Internet Explorer
try {
   xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
   } catch (e) {
   xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
   }
}
return xmlHttp;
}

function changeSubject(_slt){
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null){
  alert ("浏览器无法返回ajax对象!");
  return;
} var url="user_xml.php?users=" + _slt.value;
alert(url);
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
} //用于解决IE读取xmDoc与FF不同
function loadXMLString(txt){
try{//Internet Explorer
   xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
   xmlDoc.async="false";
   xmlDoc.loadXML(txt);
   return(xmlDoc);  
}catch(e){
try{//Firefox, Mozilla, Opera, etc.
    parser=new DOMParser();
    xmlDoc=parser.parseFromString(txt,"text/xml");
    return(xmlDoc);
}catch(e) {
 alert(e.message)
}
}
return(null);
}

function stateChanged(data){
var user_science = document.getElementsByName("user_science")[0];
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
if (xmlHttp.status == 200) {
var xmlDoc = loadXMLString(xmlHttp.responseText);
$("#s2>option:gt(0)").remove();//清空除第一项除外的option
// //解析XML
var root=xmlDoc.getElementsByTagName('row');
for (var i=0; i<root.length; i++){
var value = root[i].getElementsByTagName("value")[0].childNodes[0].nodeValue;
var text = root[i].getElementsByTagName("text")[0].childNodes[0].nodeValue;
$("#s2").get(0).options.add(new Option(text,value));

}
}
}
</script>
    <form action="user_search_sql.php" method="post">
<ul>
        <li><!--<input type="checkbox" id="chk_1" name="s_grade" checked="true" onclick="enableChoic('s1')">年 级-->
        <select name="user_grade" onchange="changeSubject(this);">
<option value="">--选择入学年份--</option>
        <?php
$login_sql = "select * from klm_users group by user_grade";
$result = $db->query ( $login_sql );
while ( $row = $db->fetch_array ( $result ) ) {
?>
     <option value="<?php echo $row ['user_grade']; ?>"
<?php
if ($row ['user_grade'] == $typeid) {
echo "selected";
}
?>
><?php echo $row ['user_grade']; ?></option>
<?php
}
?>
        </select></li>
        <li>&nbsp;<!--<input type="checkbox" id="chk_2" name="s_science" onclick="enableChoic('s2')">专 业-->
        <select ID="s2" name="user_science" SIZE="1">
        <option value="">--选择专业--</option>
        </select></li>
        <li>&nbsp;<!--<input type="checkbox" id="chk_3" name="s_class" onclick="enableChoic('s3')">班 级-->
        <select ID="s3" name="user_class" SIZE="1">
        <option value="">--选择班级--</option>
        </select></li>
        <li><input type="submit" class="btn_2" value="点击查询"></li>
</ul>
</form>
user_xml.php
<?php
include_once ('admin_global.php');
header ( 'Content-Type:text/xml; charset=gbk' );
if ($_GET ["users"]) {
$login_sql = "select * from klm_users where user_grade=" . $_GET ["users"];
echo $login_sql;
$result = $db->query($login_sql);
$xml = "<?xml version=\"1.0\"?><rows>";
while ( $row = $db->fetch_array ( $result ) ) {
$xml .= "<row><value>" . $row ["user_grade"] . "</value><text>" . $row ["user_science"] . "</text></row>";
}
$xml .= "</rows>";
echo $xml;
}exit ();
?>

解决方案 »

  1.   

    XML的内容取不出来.就是二级和三级菜单取不到.求高手解答.跪谢
      

  2.   

    user_xml.php中将while换成    while ( $row = $db->fetch_array ( $result ) ) {
            echo '<pre>';print_r($row);echo '<br>';
        }
    看看数据
      

  3.   

    单独访问user_xml.php的时候页面报错.
    XML 文档必须有一个顶层元素。处理资源 'http://localhost:81/klmexam/admin/user_xml.php' 时出错。 
      

  4.   

    $header = "<root>"    
    $end = "</root>";
    while ( $row = $db->fetch_array ( $result ) ) {
            $xml .= "<row><value>" . $row ["user_grade"] . "</value><text>" . $row ["user_science"] . "</text></row>";
        }$xml = $header.$xml.$end;
      

  5.   

    按照楼上的做法.XML还是报错
    XML 文档必须有一个顶层元素。处理资源 'http://localhost:81/klmexam/admin/user_xml.php' 时出错。 
      

  6.   

    echo $xml = $header.$xml.$end;//看看
      

  7.   

    Notice: /klmexam/admin/user_xml.php line 20 - Undefined variable: xml
      

  8.   

        $xml = "<?xml version=\"1.0\"?><rows>";
        while ( $row = $db->fetch_array ( $result ) ) {
            $xml .= "<row><value>" . $row ["user_grade"] . "</value><text>" . $row ["user_science"] . "</text></row>";
        }
        $xml .= "</rows>";
        echo '<root>'.$xml.'</root>';
      

  9.   


    $xml = "<?xml version=\"1.0\"?><rows>";
      while ( $row = $db->fetch_array ( $result ) ) {
      $xml .= "<row><value>" . $row ["user_grade"] . "</value><text>" . $row ["user_science"] . "</text></row>";
      }
      $xml .= "</rows>";
      echo '<root>'.$xml.'</root>';