尝试使用 javascript 生成更多具有唯一名称的文件上传字段

发布于 2024-11-28 08:45:20 字数 1268 浏览 3 评论 0原文

我成功创建了一个添加文件上传字段的按钮、一个删除文件上传字段的按钮以及一个跟踪文件上传字段总数的计数器。问题是这些字段似乎没有唯一的名称。这些字段的名称应该是 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>

I've managed to create a button that adds a file upload field, a button that removes a file upload field, and a counter that keeps track of the total number of file upload fields. The problem is that the fields don't seem to have unique names. The fields are supposed to have the names img1, img2, img3, etc... I can see its not working because the files weren't uploaded to the SQL table.

Here's my javascript and 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>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

愛放△進行李 2024-12-05 08:45:20

请参阅此行:

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

counter will not be a part of the name

使用

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

此行中的相同错误:

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

See this line:

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

counter will not be a part of the name

Use

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

The same misstep in this line:

document.getElementById("addimg").innerHTML+="<input type='file' name='img'+i>"+"<br>";
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文