0

AJAXを使用してphpスクリプトからアイテムのリストを取得し、フィルターを渡すことができる関数があります。ユーザーは、ページのドロップダウン ボックスから選択してフィルターを設定できます。

私が抱えている問題は、ページの読み込み中にフォームにデフォルトのデータを入力するために関数を呼び出しており、ドロップダウンボックスからフィルターテキストを読み取ろうとすると関数が静かに終了することです。ページのロード後は正常に機能しますが、ロード中は機能しません。ただし、ドロップダウンから読み取ろうとする前にアラート(「テスト」)を配置すると、関数は正常に機能するため、関数が呼び出されたときにドロップダウンが適切にロードされていないと想定しています。安全でない場合に独自のデフォルト値を提供できるように、安全に読み取れるかどうかをテストするにはどうすればよいですか?

コード スニピット:

var ProdCat = document.getElementById("prod_cat2");             
var Filter = "All Products";

Filter = ProdCat.options[ProdCat.selectedIndex].text;

alert("test");

xr2.open("GET","hs_shop.php?ajaxreq&r=prodlist&p1=" + Filter, true);
xr2.send();

したがって、上記のコードは onLoad という関数内にあり、アラートはまったくトリガーされません。ただし、 Filter = ProdCat.(etc) 行をコメントアウトすると、アラートがトリガーされます。ページの読み込み後、その行でも常にアラートがトリガーされます。ロード中とロード後の両方で 1 つの機能を維持するソリューションを探しています。ありがとう!

4

2 に答える 2