OK、次のようなページがあります。この関数は、q15 として情報が入力されたドロップダウンを作成します。
以下のコードは、ユーザーがドロップダウン q14 からオプションを選択すると起動します。
onchange="configureDropDownLists(this,'q15')"
onload
オプションを使用してページが読み込まれると、同じ関数が呼び出されます。
<body onload="configureDropDownLists('q14','q15');check();">
これらは、使用される 2 つの関数です。
function configureDropDownLists(q14,q15) {
if (langu.languag=='English'){
var not = new Array('');
var australia = new Array('Perth','Brisbane','Sydney (Frenchs Forrest)','Sydney (Auburn)','Melbourne','Adelaide','Auckland');
}
switch (q14.value) {
case '':
document.getElementById(q15).options.length = 0;
for (i = 0; i < not.length; i++) {
createOption(document.getElementById(q15), not[i], not[i]);
}
break;
case '1':
document.getElementById(q15).options.length = 0;
for (i = 0; i < australia.length; i++) {
createOption(document.getElementById(q15), australia[i], [i+1]);
}
break;
}
}
function createOption(ddl, text, value) {
var opt = document.createElement('option');
opt.value = value;
opt.text = text;
ddl.options.add(opt);
}
最後に、この厄介なコードはheader
ページのセクションにあります。
<script type="text/javascript">
window.results = ["<?php echo implode ('","', $results); ?>"];
</script>
<script type="text/javascript">
function selected(){
var res = 'test';
document.getElementById("test").value = res;
alert(res);
}
</script>
<script type="text/javascript">
var langu = {
languag : '<?php echo $lang; ?>'
}
</script>
<script src="main.js" type="text/javascript"></script>
<script src="javascripts/scriptaculous.shrunk.js" type="text/javascript" charset="ISO-8859-1"></script>
<script src="javascripts/page2_validation.js" type="text/javascript"> </script>
onchange
ユーザーが q14 を選択すると、呼び出しを使用してコードが正しく起動します。さらに、q14 には、ユーザーが以前にページにアクセスしたことがある場合にオプションを自動選択する PHP コードがあります。この例では、ページが読み込まれたときに関数を実行して q15 を作成したいのでonload
、私は単にそれを発火させることができません。
アイデアや提案を歓迎します。H.