0

数値入力で選択したテキストの入力フィールドを表示したい HTML フォームを作成しています。私はこれを持っています:

<input type="number" name="syggrafei"  oninput="showfield(this.options[this.selectedIndex].value)" /><div id="div1"></div>

そしてJavascript:

<script>
function showfield(value) {
    if (value == '1') {
        document.getElementById('div1').innerHTML = '<input type="text" name="syggrafea1" placeholder="S????af?a? 1" />';
    }
    else if (value == '2') {
        document.getElementById('div1').innerHTML = '<input type="text" name="syggrafea1" placeholder="S????af?a? 1" /><br /><input type="text" name="syggrafea2" placeholder="S????af?a? 2"/>';
    } else {
        document.getElementById('div1').innerHTML = '';
    }
}

私はJavacriptにかなり慣れていません。誰かが私がそれを正しく書くのを手伝ってくれませんか?

4

2 に答える 2

0

type=numberオプションがないため、oninput は機能しません。使いたいだけ

showfield(this.value)
于 2013-06-24T16:39:36.957 に答える
0

まず、「oninput」の代わりに「Onblur」を使用する方が良いと思います。ユーザーが変更を終了すると、機能が実行されるためです。

次に、「For」を使用して、簡単に必要なものを作成できます。このように、見てください:

<input id="myInput" onblur="showfield($(this).value)" />

Javascript コードは次のとおりです。

function showfield(value){
var data = '';
for ( i = 0 ; i < value ; i++ )
{
data += '<input type="text" name="syggrafea'+i+'" placeholder="Συγγραφέας '+i+'" />';
}
document.getElementById('div1').innerHTML=data;
}

:)

于 2013-06-24T16:43:46.950 に答える