2011-06-26 8 views
0

動的にテキストボックスを生成するためのJavaScriptを作成しました。JavaScriptのテキストボックスの動的生成

コード:

function addtextbox(val) 
{ 
var foo = document.getElementById('fooBar'); 
var num = (document.getElementById('cnt').value -1 + 2); 
ingrds[num]= val; 
var newdiv = document.createElement('div'); 
var divIdName = 'divid'+num;  
newdiv.setAttribute('id',divIdName); 
newdiv.innerHTML = '<input type="text" size="15" id="' + ingrds[num] + '" value="' + val + '"><a href="javascript:remove('+divIdName+')">Remove</a>'; 
foo.appendChild(newdiv); 
} 

//は、remove関数は、私はそれを削除する前に、テキストボックスの値を取得したいと呼ばれるたびに動的に追加するテキストボックス

function remove(dId) 
{ 
var foo = document.getElementById('fooBar'); 
foo.removeChild(dId); 
} 

を削除するように機能します。それについてどうやって行くの?前もって感謝します。

+0

'ingrds [num] 'はどこから来たのですか? – Ibu

答えて

0
function remove() 
{ 
var foo = document.getElementById('fooBar'); 
var value = foo.value; 
alert(value); // will show you the value for debugging purpose 
foo.removeChild(dId); 
} 

入力要素はinput.valueプロパティを使用して、その値へのアクセスを持つことができます。 同じことがtextarea要素(テキストボックス)にも適用されます。

"<a href="javascript:remove('+divIdName+')">Remove</a>" 

EDITは

"<a href="javascript:remove('+ingrds[num]+')">Remove</a>" 

に変更することができます何あなたの関数は、あなたが価値を引き出すために必要

function remove(id) 
    { 
    var foo = document.getElementById(id); // selects the input element 
    var value = foo.value; 
    foo.removeChild(dId); 
    } 
+0

@lbu:foobarはdivです。私はそれに子ノードとして多くのdivを追加しました。子ノードにはテキストボックスがあります。 IDがdIdの特定の子ノードのテキストボックスの値を取得したい。 – user735399

+0

私の編集を参照してください、それは動作するはずです – Ibu

+0

ありがとう。しかし、新しいテキストボックスを作成しながらdivを追加しています。したがって、編集したコードも機能しません。 – user735399

0

innerHTMLをご利用ください。

var foo = document.getElementById('fooBar'); 
var fooHtml = foo.innerHTML; 
foo.removeChild(dId); 
+0

:fooHtmlは、追加されたすべてのテキストボックスの内部htmlを提供します。私はidが私が渡された特定の子供が機能することを望みます。 – user735399

0

パラメータを使用していないCA。あなたは現在の要素を選択しているだけです

function remove() 
{ 
var foo = document.getElementById('fooBar').value; 
foo.removeChild(dId); 
} 
関連する問題