如何从html表单中读取变量输出并在网页中使用它?

时间:2012-06-05 07:57:48

标签: html xml forms

好的,我试图让它发挥作用 - 但似乎看不出来......

我要做的是有一个表格要求索引,当我提交它时会读取一个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)”line“中输入现有索引,javascript搜索确实有效

1 个答案:

答案 0 :(得分:0)

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

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