JS动态创建的file控件,PHP 怎么获取上传的文件?

JavaScript012

JS动态创建的file控件,PHP 怎么获取上传的文件?,第1张

首先,你的file控件要放到form表单内,其次,每个file控件的name属性应该不同。下面是我修改后的:

<html>

</head>

<script language="javascript" type="text/ecmascript">

var x=1

//======================

//功能:在表单中input file控件

//参数:parentID---要插入input file控件的父元素ID

// inputID----input file控件的ID

//======================

function createInput(parentID,inputFileID){

var parent=$(parentID)//获取父元素

var div=document.createElement("div")//创建一个div容器用于包含input file

x++

var divName=inputFileID+x//随机div容器的名称

div.id=divName

var aElement=document.createElement("input")//创建input

aElement.name=divName

aElement.type="file"//设置类型为file

var delBtn=document.createElement("input")//再创建一个用于删除input file的Button

delBtn.type="button"

delBtn.value="删除"

delBtn.onclick=function(){ removeInput(parentID,divName)}//为button设置onclick方法

div.appendChild(aElement)//将input file加入div容器

div.appendChild(delBtn)//将删除按钮加入div容器

parent.appendChild(div)//将div容器加入父元素

}

//============================

//功能:删除一个包含input file的div 容器

//参数:parentID---input file控件的父元素ID

// DelDivID----个包含input file的div 容器ID

//============================

function removeInput(parentID,DelDivID){

var parent=$(parentID)

parent.removeChild($(DelDivID))

}

//通过元素ID获取文档中的元素

function $(v){return document.getElementById(v)}

</script>

<body>

<form action="test.php" method="post" enctype="multipart/form-data">

<div align="left" id="div_Pic" style="border:1px solid #CCCCCC">

<input name="PicFile" type="file" id="ShowPicFile">

</div>

<input type="button" onClick="createInput('div_Pic','PicFile')" name="button" id="button" value="+ 继续添加图片">

<input type="submit" value="提交">

</body>

</html>

然后php就可以通过遍历$_FILES来获得每个上传的文件。下面的简单例子只是列出每个文件的原文件名:

<?php

forEach($_FILES as $f){

 echo $f["name"]."<br>"

}

?>

1、如果你只是想向repeat里添加一个DropDownList可以把思路换换。

2、JS是客户端脚本,不回传服务器,所以你别添加服务器控件了

3、添加一个<select>...</select>HTML控件好了,就是你现在的写的ADD方法就OK了

4、后台用reuqest.form("控件名")获取数据。一定要添加服务器端控件,那就别用JS

function makeDiv()

{

var div= document.createElement("div")

div.id = "DIVI" + document.getElementById("iptNum").value

div.style.width="217px"

div.style.borderRight="black 1px solid"

div.style.borderBottom="black 1px solid"

var SELECT = document.createElement("SELECT")

SELECT.id="type"+document.getElementById("iptNum").value

SELECT.style.width="216px"

div.appendChild(SELECT)

}

具体功能自己改改