所以我有一个js函数:
function addNewUpload()
{
if(formNumber == 1){
displayRemove();
}
if(formNumber != 10){
var html = " <div id='u_"+(formNumber+1)+"' > ";
//html += " description : <input type='text' name='desc[]' /> <br> ";
html += " photo : <input type='file' name='file[]' /> ";
html += " </div> ";
document.getElementById('uploadHolder').innerHTML += html;
formNumber = formNumber + 1;
} else {
alert("You can only upload 10 photos.");
}
}
它工作正常,只是它从已使用此函数添加的字段中删除了值。我怎样才能阻止它这样做?
最佳答案
您应该使用 DOM 方法,例如appendChild 和createNewElement 等。
尝试以下方法:
http://jsfiddle.net/9YHs8/ (在此示例中,出于演示目的,类型的"file"已更改为文本)。
function addNewUpload()
{
if(formNumber == 1){
displayRemove();
}
if(formNumber != 10){
var d = document.createElement("div");
d.id = "u_" + formNumber;
var i = document.createElement("input");
i.type = "file";
i.name = "file[]";
d.appendChild(document.createTextNode(" photo : "));
d.appendChild(i);
document.getElementById('uploadHolder').appendChild(d);
formNumber++;
} else {
alert("You can only upload 10 photos.");
}
}
关于javascript - 向 div 添加新元素会删除当前值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7998702/