好的,这会很快。我在最终提交到服务器之前通过插入隐藏的输入框来收集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。我可能会丢失。
答案 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等)都会让你更容易做到,如果这对你来说是一项常见的任务。