次のようなURLから入力を取得するjavascriptがあります...
www.mydomain.com/?dropdown=Alpha
これにより、myform -> mydiv にあるドロップダウン ボックスから Alpha が事前に選択されます。
function show(choice) {
var success = -1;
for (var i=0; i < document.myform.mydiv.length; i++) {
if (document.myform.mydiv.options[i].text == choice)
success = [i];
}
document.myform.mydiv.selectedIndex=success;
}
var choice = (location.href.split("?")[1] || '').split("=")[1];
拡張子なしで www.mydomain.com の URL にアクセスした場合を除いて、すべて正常に動作します - その後、次のエラーがスローされます...
document.myform.mydiv is undefined
ドロップダウンhtmlは...
<form name="myform">
<select name="mydiv">
<option value="1">Alpha</option>
<option value="2">Beta</option>
<option value="3">Gamma</option>
<option value="4">Delta</option>
</select>
</form>
<script>
show(choice);
</script>
これはかなり自明であり、これは未定義であるためであることを理解しています。私の質問は、修正するためにチェックを追加するにはどうすればよいですか?