1

好的,我试图让这个工作 - 但似乎看不到路......

我想要做的是有一个表单要求索引,当我提交时它会读取一个 XML 文件(bowlist.xml)并给我匹配索引的数据。

这是整个代码:

    <!DOCTYPE html>
<html>
<body>

<form action="">
Bowl #: <input type="text" name="bowlidx" value="" /><br />
<input type="submit" value="Submit"  />
</form>

<script type="text/javascript">

var index = <%=Request.QueryString(bowlidx)%>

document.write('index is ' + index)

if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.open("GET","bowlist.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML; 

document.write("<table border='1'>");
var x=xmlDoc.getElementsByTagName("product");
for (i=0;i<x.length;i++)
  { 
    if(x[i].getElementsByTagName("id")[0].childNodes[0].nodeValue != index) continue;
        document.write("<tr><td>");
        document.write(x[i].getElementsByTagName("id")[0].childNodes[0].nodeValue);
        document.write("</td><td>");
        document.write(x[i].getElementsByTagName("code")[0].childNodes[0].nodeValue);
        document.write("</td><td>");
        document.write(x[i].getElementsByTagName("image")[0].childNodes[0].nodeValue);
        document.write("</td></tr>");
  }
document.write("</table>");</script>

</body>
</html>

我拿到表格,输入并提交索引,但什么也没发生。

我在哪里错了?

我应该补充一点,如果我在“if(x[i].getElementsByTagName("id")[0].childNodes[0].nodeValue != index)”行中输入现有索引,javascript 搜索确实有效。

4

1 回答 1

0

如果您在页面加载时需要这个(即在您单击提交按钮并重新加载页面之后),您可以使用一行服务器端代码在 javascript 中设置您的变量,如下所示:

index = <%=Request.QueryString("bowlidx")%>
于 2012-06-05T08:04:56.913 回答