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 検索が機能することを追加する必要があります。