0

ドロップダウンから選択された値に基づいてテキストボックスをロードするために使用している単純な js スクリプトがあります。

問題: 変更時にのみロードされ、ロード時に選択された値が 0 でない場合、ページがロードされるときにロードする必要があります。アップデート。

スクリプト:

function addInput(){
var arr = [
"<p style='text-align:center;'>Reward 1: <input type='text' name='rew1' id='rew1' value='<?php echo $connt['reward_1'] ?>'></p>",
"<p style='text-align:center;'>Reward 2: <input type='text' name='rew2' id='rew2' value='<?php echo $connt['reward_2'] ?>'></p>",
"<p style='text-align:center;'>Reward 3: <input type='text' name='rew3' id='rew3' value='<?php echo $connt['reward_3'] ?>'></p>",
"<p style='text-align:center;'>Reward 4: <input type='text' name='rew4' id='rew4' value='<?php echo $connt['reward_4'] ?>'></p>",
"<p style='text-align:center;'>Reward 5: <input type='text' name='rew5' id='rew5' value='<?php echo $connt['reward_5'] ?>'></p>",
"<p style='text-align:center;'>Reward 6: <input type='text' name='rew6' id='rew6' value='<?php echo $connt['reward_6'] ?>'></p>",
"<p style='text-align:center;'>Reward 7: <input type='text' name='rew7' id='rew7' value='<?php echo $connt['reward_7'] ?>'></p>",
"<p style='text-align:center;'>Reward 8: <input type='text' name='rew8' id='rew8' value='<?php echo $connt['reward_8'] ?>'></p>",
"<p style='text-align:center;'>Reward 9: <input type='text' name='rew9' id='rew9' value='<?php echo $connt['reward_9'] ?>'></p>",
"<p style='text-align:center;'>Reward 10: <input type='text' name='rew10' id='rew10' value='<?php echo $connt['reward_10'] ?>'></p>",
];
var el = document.getElementById('select');
var div = document.getElementById('rewards');
div.style.display = "block";
while(div.hasChildNodes()) { div.removeChild(div.childNodes[0]); }

if(el.selectedIndex > 0) {
for(var i = 0; i<el.options[el.selectedIndex].value; i++) {
div.innerHTML = div.innerHTML + arr[i];
}
}

}
4

3 に答える 3

2

お役に立てれば:

        window.onload = function(){
            addInput();
        }
于 2012-11-23T05:00:46.320 に答える
1

あなたのタグに

<body onload="return addInput()">
于 2012-11-23T05:03:21.520 に答える
0

真の「オンロード」動作を取得するのは非常に難しい場合があります。問題は、load プロパティに body タグを設定することは技術的には機能しますが、body の読み込みが完了するとすぐに起動することです。ウィンドウのオンロードでも同様の問題が発生する可能性があります。

多くの複雑な Web ページでは、必要なすべてのサポート ファイル、スクリプト、または AJAX ベースのコンポーネントの読み込みが完了していないため、単純な body onload イベントからトリガーされたスクリプトの一部が失敗する可能性があります。

多くの JavaScript フレームワークは、すべてのリソースの準備が整うまで起動しない、この状況を管理する方法を提供します。お気に入りのフレームワークに実装されているものを使用することをお勧めします。フレームワークを使用することを強くお勧めします。適切なフレームワークなしでクロス ブラウザーのサポートを行うのは悪夢です!

たとえば、Dojo では (ごく最近まで)、次のようにします。

dojo.addOnLoad(/* function */) 

すべてのページ リソースが利用可能になると起動します。

于 2012-11-23T05:08:10.303 に答える