最初に 2 つの項目があります。ユーザーがオプションを選択すると、JavaScript コードがトリガーされ、同じページに結果が表示されるドロップダウン ボックスです。
2 つ目は入力ボックスと検索ボタンです。ユーザーが何かを入力して検索ボタンをクリックすると、javascript がトリガーされますが、何らかの理由で、他のページにリダイレクトするのではなく、現在のページ アドレスに値が追加され、xmlhttp.status が返されます。 0.
class/myresults.php にリダイレクトするのではなく、item1 とその値を現在のページ アドレスである www.myexample.com/index.php?item1=computer に追加します。
うまくいかない私のフォーム
<form action="">
<input name="search" type="text" title="Search"/>
<input type="submit" value="search" onclick="finditem(this.form.search.value)"/>
</form>
function finditem(option){
alert(option); <<<<shows the correct entered value
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
alert(xmlhttp.status); << returns 0
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("Result").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","class/myresults.php?item1="+option,true);
xmlhttp.send();
}
機能するドロップダウン ボックスの Java スクリプト
<select name="items" onchange="findbox(this.value)">
.....
</select>
function findbox(option){
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("Result").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","class/myresults.php?item2="+option,true);
xmlhttp.send();
}