php代码, 这是一个使用javascript创建输入的小函数,然后将这些上传的文件发布到下一页。 它在IE上运行良好,但在FF上失败。它将只传递第一个也是唯一一个不是由js addMore()创建的文件。 IE: 数组([name] =>数组([0] => j1.jpg))
FIREFOX 数组([name] =>数组([0] => j1.jpg 1 => j2.jpg 2 => j3.jpg)
一位朋友告诉我,js DOM创建的新节点不适合旧帖子...... DOM协议......所以FF无法识别它......是吗?如何纠正,谢谢
// html content
<td id="div1">
<input name="upload[]" id="upload" type="file" style="width:250px;" />
<input name="button" type="button" onClick="addMore()" value="+">
<br /> to add more files, please click the "+" button
</td>
// js content
<script language="javascript">
var addMore = function()
{
var div = document.getElementById("div1");
var br = document.createElement("br");
//var input = document.createElement("input");
var input = navigator.userAgent.indexOf("MSIE")>0 ? document.createElement("<input name=\"upload[]\">") : document.createElement("input");
var button = document.createElement("input");
input.setAttribute("type", "file");
input.setAttribute("name", "upload[]");
input.setAttribute("id", "upload");
button.setAttribute("type", "button");
button.setAttribute("value", "-");
button.onclick = function()
{
div.removeChild(br);
div.removeChild(input);
div.removeChild(button);
}
div.appendChild(br);
div.appendChild(input);
div.appendChild(button);
}
</script>
答案 0 :(得分:0)
尝试使用jQuery来执行此操作。你不需要写所有这些代码。 jQuery.clone()会做的工作。如果您需要更加花哨的东西,那么您可以使用this plugin来简单地通过跨浏览器支持获得所需的结果。这是demo of the plugin。