1

ファイル アップロード フィールドを追加するボタン、ファイル アップロード フィールドを削除するボタン、およびファイル アップロード フィールドの総数を追跡するカウンターを作成することができました。問題は、フィールドに一意の名前がないように見えることです。フィールドには、img1、img2、img3 などの名前が付けられているはずです...ファイルが SQL テーブルにアップロードされていないため、機能していないことがわかります。

ここに私のjavascriptとHTMLがあります:

<script type="text/javascript">
var counter = 0;
function init(){
document.getElementById("counter").value=counter;
}
function add(){
counter++;
if (counter > 10){counter = 10;
}
else{
document.getElementById("counter").value=counter;
document.getElementById("addimg").innerHTML+="<input type='file' name='img'+counter>"+"<br>";}
}
function remove(){
counter--;
if (counter <= 0){counter = 0;}
document.getElementById("counter").value=counter;
document.getElementById("addimg").innerHTML="";
for (var i=1;i<=counter;i++)
{
document.getElementById("addimg").innerHTML+="<input type='file' name='img'+i>"+"<br>";
}
}
</script>


<body onLoad = "init()">
<button onClick="add()" >Add Photo</button>
<button onClick="remove()" >Remove a Photo</button><br>
<form method="POST" enctype='multipart/form-data'>
<div id="addimg">
</div>
<input type="text" id="counter" name="counter" value="">
<input type="submit" name="submit" value="submit">
</form>


</body>
4

1 に答える 1

1

次の行を参照してください。

document.getElementById("addimg").innerHTML+=
   "<input type='file' name='img'+counter>"+"<br>";}

カウンターは名前の一部にはなりません

使用する

document.getElementById("addimg").innerHTML+=
    "<input type='file' name='img"+counter+"' /> <br/>";}

この行の同じ失敗:

document.getElementById("addimg").innerHTML+="<input type='file' name='img'+i>"+"<br>";
于 2011-08-09T07:44:34.890 に答える