0

やあみんな、JavaScript関数で特定のラジオボタンをクリックすると、div内に入力要素を作成しています。

それはうまく機能しますが、最初にフォームをロードしたとき、ラジオボタンの1つがデフォルトでチェックされているにもかかわらず、ラジオボタンが「まだクリック」されていないため、入力要素がdivに表示されません。

基本的に、チェックされている場合は表示したいので、ボディロードでは、デフォルトにするラジオボタンをチェックする関数を呼び出す必要があり、ラジオボタンをクリックした場合に表示される対応する入力要素を手動で表示する必要があります。

これは、私が達成しようとしていることの愚かな回避策のようです、何かアイデアはありますか?

 <body onload="startup()">
        <input type="radio" name="type" onclick="createInput()" id="testradio" value="test">test</input>

 <div id="area">
 </div>
</body>

function startup()
{
    document.getElementById("testradio").checked = true
    createInput();
}

function createInput()
{
    var testinput = "<input name='options' value='testing' type='checkbox'>test<br>"
    document.getElementById("area").innerHTML = testinput 
}
4

1 に答える 1

1

デフォルト値を設定してから、イベントを呼び出す必要があります。(オンチェンジと言います)

このようなもの:

document.getElementById('elID').onchange();

これにより、コードではなくUIで値が変更されたかのように、イベントリスナーが起動します。

于 2012-09-27T19:30:15.387 に答える