こんにちは、前のテキスト ボックスのエントリに応じて複数のテキスト ボックスを動的に追加する必要がある Web フォームがあります。前のテキスト ボックスに 1 文字が入力された場合でも、前のテキスト ボックスからフォーカスを失うことなく、その横に新しいテキスト ボックスを生成する必要があります。制限なしでできるだけ多くの文字を入力できるようにします..これが私のコードです:
getId = function ()
{
var id = 1;
return function ()
{
id++;
}
}
function CreateTextbox()
{
var box = document.getElementById("divCreateTextbox");
var curr = 'txt' + getId();
var inp = document.createElement('input');
inp.type = 'text';
inp.name = 'textfield';
inp.setAttribute("id", curr);
inp.setAttribute("minlength",'1');
box.appendChild(inp);
inp.setAttribute('onkeyup', 'moveOnMin(this)');
inp.focus();
}
function moveOnMin(s)
{
if(s.value.length >= parseInt(s.getAttribute("minlength")))
{
CreateTextbox();
}
上記のコードの問題は、1 つのテキスト ボックスに 1 文字を入力するだけで、フォーカスが新しいテキスト ボックスに移動することです。テキスト ボックスに複数の文字を入力しようとするたびに、文字ごとに新しいテキスト ボックスが作成されます。解決策はありますか??