向div添加多个控件

时间:2010-05-14 03:42:05

标签: javascript

好的,这会很快。我在最终提交到服务器之前通过插入隐藏的输入框来收集div中的数据。 这是Javascript代码。

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+"'/>"
}

我有一个onchange事件,一直调用上面的人,直到我满意我有我需要发送到server.Problem只有一个输入附加到div。我可能会丢失。

1 个答案:

答案 0 :(得分: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);
顺便说一下,大多数框架(jQuery,Ext JS等)都会让你更容易做到,如果这对你来说是一项常见的任务。