2

htmlフォームに少なくとも50個のフィールドがあり、複数のファイルをアップロードするためのフラッシュファイルアップローダーを統合しています。

フラッシュファイルアップローダーに使用されるもう1つの理由は、IEでファイルをアップロードする前にファイルサイズを取得できないことです。IEでファイルサイズを取得するために、私はフラッシュを使用しました。

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;">&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 に答える