Javascript 当我添加另一个文件输入字段时,所选文件将被删除
我有一个表单,可以根据用户需要添加新的文件输入字段。我用一个div环绕输入,如下所示:Javascript 当我添加另一个文件输入字段时,所选文件将被删除,javascript,jquery,html,forms,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 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/>'
);
})
//添加Pic链接
$('#addPic')。单击(函数(e)
{
如果(!window.fotoCtr)
{
window.fotoCtr=2;
}否则
{
window.fotoCtr++;
}
如果(window.fotoCtr==5)
{
$('#addPic').html('');
}
e、 预防默认值();
$('div#fileinputs').html($('div#fileinputs').html()
'' +
'' +
“
”
);
})
我遇到的问题是,如上所述添加另一个文件输入字段会导致从其他输入中删除所选文件。是否仍有修复此问题的方法?使用html()
而不是append()
方法,这将使数据作为文件绑定到以前的元素:
$('div#fileinputs').append(
'<div class="input file">' +
'<input type="file" name="data[Property][pic0' + window.fotoCtr + ']" id="PropertyPic0' + window.fotoCtr + '">' +
'</div><br/>');
$('div#fileinputs')。追加(
'' +
'' +
“
”);
如果你是对的,你应该使用append(),而不是html()。那有点愚蠢。想回答一下吗?