javascript - 向 div 添加新元素会删除当前值

标签 javascript html

所以我有一个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/

相关文章:

javascript - 检查链接是否包含 javascript

html - 为什么我的下拉菜单在 IE 中不起作用?

javascript - jQuery 根本不工作

html - 插入表格时移动按钮

javascript - 使用 JavaScript 将文本更改为图像

javascript - 存储使用javascript返回的json数据

javascript - EXTJS - 加载掩码

javascript - Ajax 语法 : Uncaught SyntaxError: Unexpected identifier

html - SVG 和关键帧未完全绘制字母

javascript - jQuery .remove() 不工作,而其他内置函数是