2

我的 html 表单中至少有 50 个字段,并且我已经集成了用于多个文件上传的 flash 文件上传器。

用于 Flash 文件上传器的另一个原因是我们在 IE 中上传文件之前无法获取文件大小。为了在 IE 中获取文件大小,我使用了 flash。

EAFlashuploader 集成成功。

但我的要求有点不同。

在 EAflashuploader 中,当您单击所有添加的文件上传时,会出现上传按钮。但我想禁用这个上传按钮,当我点击 Html 提交按钮时上传文件应该被上传。

简而言之,我想通过 html 中的提交按钮而不是 flash 中的上传按钮来上传文件。

当表单提交时,我可以在 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;">&nbsp;  
</form>
</div>  
4

1 回答 1

0

EAFlashbutton 似乎具有灵活的配置选项和 Javascript API。

您应该能够 1) 隐藏 Flash 上传按钮和 2) 通过 Javascript 从外部触发上传。

1)隐藏按钮

按钮有一个visible属性,所以你应该能够用这样的东西隐藏它们:

flashvars["view.uploadButton.visible"] = "false";

2) 触发上传

使用 Javascript API 的uploadFiles()方法

于 2012-12-04T13:35:18.560 回答