javascript - 当我添加另一个文件输入字段时,选定的文件被删除

标签 javascript jquery html forms

我有一个表单,可以根据用户需要添加新的文件输入字段。我用 div 包围输入,如下所示:

<div id="fileinputs">
    <div class="myinput">
        <label for="PropertyPic01">Photos</label>
        <input type="file" name="data[Property][pic01]" id="PropertyPic01">
    </div>
</div>

我的 jQuery 代码执行以下操作:

//Add Pic link
$('#addPic').click(function(e)
{
    if(!window.fotoCtr)
    {
        window.fotoCtr = 2;
    } else
    {
        window.fotoCtr++;
    }

    if(window.fotoCtr == 5)
    {
        $('#addPic').html('');
    }

    e.preventDefault();
    $('div#fileinputs').html($('div#fileinputs').html() + 
        '<div class="input file">' +
        '<input type="file" name="data[Property][pic0' + window.fotoCtr + ']" id="PropertyPic0' + window.fotoCtr + '">' +
        '</div><br/>'
        );
})

我遇到的问题是,像上面那样添加另一个文件输入字段会导致从其他输入中删除选定的文件。有办法解决这个问题吗?

最佳答案

使用 append() 方法代替 html(),这会将数据作为文件绑定(bind)到先前的元素:

$('div#fileinputs').append(
        '<div class="input file">' +
        '<input type="file" name="data[Property][pic0' + window.fotoCtr + ']" id="PropertyPic0' + window.fotoCtr + '">' +
        '</div><br/>');

关于javascript - 当我添加另一个文件输入字段时,选定的文件被删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24065670/

相关文章:

javascript - 所有第三方 javascript SDK 都可以与 NativeScript 配合使用吗?

javascript - 选择最接近的输入来调整值

php - 本地从浏览器静默打印 PDF 到特定打印机

html - 输入字段的宽度不同。如何解决这个 CSS 挑战?

javascript - 如何在Javascript中从一个函数访问另一个函数的变量?

javascript - 在不允许通过 URL 手动更改的情况下启用后退按钮

javascript - JSON 引用以前的属性

jquery - 转换期间将鼠标悬停在子菜单上时出现可怕的闪烁

html - 手机网站 "WhatsApp"发送消息到特定号码的按钮

HTML5 CSS 对齐问题