2010-05-14 91 views
0

好吧,這會很快。我通過在最終提交給服務器之前插入隱藏的輸入框來收集div中的數據。 這裏是Javascript代碼。將多個控件附加到div

function appendToDiv() 
{ 
var mydiv=document.getElementById("somediv"); 
var mydata=document.getElementsByName("description")[0].value; 
var myurl=document.getElementsByName("url")[0].value; 
var data=mydata+myurl; 
mydiv.innerHTML="<input type='hidden' name='sUrl[]' value='"+data+"'/>" 
} 

我有保持調用上面的傢伙,直到我滿意,我有所有我需要發送到server.Problem的onchange事件只有一個輸入獲得附加到div.What可能我會丟失。

回答

1

每次設置innerHTML="..."時,您都覆蓋已存在的內容。您應該創建您的輸入作爲DOM對象(document.createElement)並使用appendChild來真正追加它們。

一些真正的快速谷歌搜索,但這裏有一個頁面,應該給你的總體思路:http://www.javascriptkit.com/javatutors/dom2.shtml

應該是這樣的:

var el = document.createElement('input'); 
el.setAttribute('type', 'hidden'); 
el.setAttribute('name', sUrl[]); // not sure what sUrl[] is? 
el.setAttribute('value', data); 
mydiv.appendChild(el); 

BTW,大多數框架(jQuery的,Ext JS的,等等。 )如果這對你來說是一項常見任務,那麼這樣做會更容易一些。

+0

謝謝你的工作! – Kemrop 2010-05-14 04:56:25