1

OK、これを機能させようとしましたが、道が見えないようです...

私がしようとしているのは、フォームにインデックスを要求することです。送信すると、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 に答える