2011-07-18 25 views
3

2つのフォームを持つページがあります。そのうちの1つは表示されず、入力タイプ= "ファイル"が含まれています。私は隠しフォーム(フォームのターゲットはiframe要素です)でファイルをアップロードしています。私の質問は、IEの下でjavascriptでファイルのアップロードを停止/キャンセルする方法です。 JQueryで隠しフォームを削除しようとしましたが、ファイルはまだアップロードされています。IE javascriptでファイルのアップロードをキャンセル/停止するには

ありがとうございます。

+0

iframeを削除するか、iframeの場所を別のURLに設定してみます。 – Gerben

答えて

1

返信いただきありがとうございます。 私がその事件をデバッグした限り、私は次の結果を得ました:) - アップロードをキャンセルすることはできません。上記のメソッドは、応答を受け取るためにページをキャンセルし、ファイルはサーバー側にアップロードされています。

<form id="form1" runat="server"> 
<div> 
<asp:ScriptManager runat="server" ID="ScriptManager1"></asp:ScriptManager> 

<input type="button" id="button1" value="stopUpload" onclick="stopUpload()"/> 
    <script type="text/javascript"> 

     function stopUpload() {    
      var frame = $get("iframe1"); 
      frame.contentWindow.document.execCommand("Stop");     
     } 

    </script> 
</div> 
</form> 
<form id="form2" enctype="multipart/form-data" action="http://localhost/TestingSite/Default.aspx" 
method="POST" target="iframe1"> 
<input type="submit" /> 
<input type="file" name="FileUploadTest" id="FileUploadTest"/> 
</form> 
<iframe id="iframe1" name="iframe1" width="500px" height="500px" ></iframe> 
+0

このソリューションが私にとってはうまくいかない理由私はページを停止しますが、アップロードプロセスは続行します – Marwan

1

window.stop()(iframeに適用)の行に沿ったものが必要になる場合があります。

This old threadは、window.stop()はIEでは機能しませんが、文書化されていないwindow.document.execCommand("Stop")は(少なくともIE5では)機能していると報告しています。

また、this StackOverflow pageに問い合わせることもできますが、基本的に同じ回答がありますが、いくつかのトリックが提案されています。

2

OK: はここに私のプロトタイプのマークアップです。このサイトは同じものを探していましたが、これらのソリューションは私のシナリオでは機能しませんでした。フォームのiframeターゲットもあり、アップロードをキャンセルしたいと考えています。これらのソリューションは何らかの理由で動作しませんでした(IE7)。私は、

サーブレットから「ファイルが大きすぎます」という応答が、ターゲットのiframe onloadイベントをトリガーしていないという問題がありました。

試してみてください。

targetIframe.contentWindow.document.open() 
targetIframe.contentWindow.document.close() 

これが引き金にIFRAMEのonloadイベントをだまされ、自動的にアップロードをキャンセル。

関連する問題