2012-01-16 5 views
1

ボタンを押したときに入力ボタンを追加するthis javascriptがオンラインで見つかりました。Javascriptで入力問題が発生する

入力の種類を選択できるのではなく、自動的にテキストボックスを作成するように変更しました。しかし、それは動作していません。私は何を変えるべきですか?

function add(type) { 

    //Create an input type dynamically. 
    var element = document.createElement("input"); 

    //Assign different attributes to the element. 
    element.setAttribute("type", "text"); 
    element.setAttribute("name", "goal[]"); 

    var foo = document.getElementById("fooBar"); 

    //Append the element in page (in span). 
    foo.appendChild(element); 

} 

<INPUT type="button" value="Add" onclick="add(document.forms[0].element.value)"/> 

<span id="fooBar">&nbsp;</span> 

答えて

1

DEMO

あなたのadd関数は正しいですが、私は何かがdocument.forms[0].element.value

onclick="add(document.forms[0].element.value)" 

here-壊れていると思いますがじゃないので

onclick="add()" 

にそれを変更してみてくださいとにかくその型パラメータを使用する

+0

彼らはお互いの下にレンダリングされたので、どのようにしても、各入力後に改行を追加しますか? –

+1

私はあなたがしたいと思います: 'document.createElement(" br ");'そして改行を挿入する場所に挿入します –

+0

私はそれを関数add()に入れますか?それはうまくいかなかった。私はaddclと一緒にonclickとそれを置くべきですか? –

0

一部のブラウザでは、要素に動的にname属性を設定することができません。

あなたはこの問題を回避するためにcreateElement()に渡されたマークアップでname属性を指定することができます。

var element = document.createElement("<input name='goal[]' type='text' />"); 
関連する問題