我的html表单中至少包含50个字段,并且我已经集成了flash文件上传器以进行多个文件上传。
用于flash文件上传器的另一个原因是我们在IE中上传文件之前无法获取文件大小。为了获得IE中的文件大小,我使用了flash。
EAflashuploader集成成功。
但我的要求有点不同。
在EAflashuploader中,单击上传的所有已添加文件时都有上传按钮。 但我想禁用此上传按钮,上传文件应该在我点击时上传 Html提交按钮。
简而言之,我想通过html中的提交按钮而不是闪存中的上传按钮来上传文件。
表单提交时我可以使用post方法获取所有数据。
项目链接:http://www.triggergmbh.com/EAFUpload/PHP/simpleupload.php
EAFlashUpload链接:http://www.easyalgo.com/examples/eaflashupload/simpleupload.aspx
EAFlashUpload文档链接:http://www.easyalgo.com/support/docs/eaflashupload/
Javascript功能
function doSendForm() {
EAFlashUpload.uploadFiles();
document.forms["id_form"].submit();
}
HTML代码
<div style="width:450px;height:350;background:#EFEFEF;">
<form name="id_form" id="id_form" method="post" style="margin:0px;padding:0px;">
<div id="EAFlashUpload_holder"></div>
<script type="text/javascript" src="EAFUpload/swfobject.js"></script>
<script type="text/javascript">
var params = {
BGcolor: "#ffffff",
wmode: "window"
};
var attributes = {
id: "EAFlashUpload",
name: "EAFlashUpload"
};
var flashvars = new Object();
var uploadUrl = "simpleupload.php";
if (!document.all) {
uploadUrl = "../" + uploadUrl;
}
flashvars["uploader.uploadUrl"] = uploadUrl;
flashvars["viewFile"] = "EAFUpload/TableView.swf";
flashvars["view.uploadButton.visible"] = "false";
swfobject.embedSWF("EAFUpload/EAFUpload.swf", "EAFlashUpload_holder", "450", "350", "10.0.0", "EAFUpload/expressInstall.swf", flashvars, params, attributes);
function EAFlashUpload_onMovieLoad(errors)
{
if(errors != "")
alert(errors);
}
</script>
<p>First name: <input type="text" name="firstname"></p>
<p>Last name: <input type="text" name="lastname"></p>
<input type="submit" id="id_submit" name="submit" value="submit" onClick="doSendForm();" style="padding:10px;font-size:20px;">
</form>
</div>
答案 0 :(得分:2)
如果您对基本HTML表单+ PHP文件上传感兴趣,可以查看以下链接:http://www.w3schools.com/php/php_file_upload.asp
答案 1 :(得分:0)
EAFlashbutton似乎有灵活的配置选项和Javascript API。
您应该可以1)隐藏Flash上传按钮,2)通过Javascript从外部触发上传。
按钮有一个visible
property,所以你应该可以用这样的东西隐藏它们:
flashvars["view.uploadButton.visible"] = "false";
使用Javascript API的uploadFiles()
method。