-3

php コード、これは JavaScript を使用して入力を作成し、アップロードされたファイルを次のページに投稿する小さな関数です。IE では問題なく動作しますが、FF では失敗します。js addMore() によって作成されていない最初で唯一のファイルを渡すだけです。IE: 配列([名前] => 配列([0] => j1.jpg) )

FIREFOX Array([名前] => Array([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>
4

1 に答える 1