2017-08-03 15 views
0

jsを使用してHTMLに入力(タイプファイル)フィールドを追加します。私はそれを完了しましたが、問題は、ユーザーがファイルを選択し、「新しいファイル」ボタンをクリックして別のファイルを選択するときです。プレボウジスの選択ファイルは消えて、選択されたファイルはありません。何が問題ですか?jsを使用してプログラムで入力ファイルタグを追加

function newfile(){ 
 
    var divv=document.getElementById("files"); 
 
    var name="files"+divv.childNodes.length; 
 
    divv.innerHTML+='<div><input id="'+name+'" name="'+name+'" type="file" accept="*" class="col-lg-11 col-md-10 col-sm-10 col-sx-6"></div>'; 
 
}
<div class="col-sm-10"> 
 
<div id="files"></div> 
 
<a class="btn btn-primary col-sx-12" onclick="newfile()">New file</a> 
 
</div>

+0

): あなたは、ここではこのような何かをappendChild()を使用することができます –

答えて

1

毎回あなたがdivv内のすべての内容は新しい内容に置き換えられ、以前の情報が失われているdivv.innerHTML+='<div><input id="'+name+'" name="'+name+'" type="file" accept="*" class="col-lg-11 col-md-10 col-sm-10 col-sx-6"></div>'使うためです。代わりにinnerHTMLプロパティのあなたはのappendChildを(使用する必要が

function newfile(){ 
 
var divv=document.getElementById("files"); 
 
var name="files"+divv.childNodes.length; 
 
var inputNode = document.createElement("input"); 
 
inputNode.id = name; 
 
inputNode.name = name; 
 
inputNode.type = 'file'; 
 
divv.appendChild(inputNode); 
 
}
<div class="col-sm-10"> 
 
<div id="files"></div> 
 
<a class="btn btn-primary col-sx-12" onclick="newfile()">New file</a> 
 
</div>

関連する問題