4

ボタンは1つ(MyButton)です。このボタンをクリックすると、モーダル ポップアップ (MyPopup) が表示され、1 つの asyncfileupload ajax コントロール、[OK] ボタン、および [キャンセル] ボタンが表示されます。

asyncfileupload 機能のブラウズ機能は正常に動作しています。問題ありません。しかし、ポストバック後、MyButton をもう一度クリックすると、asyncfileupload コントロールのテキスト ボックスに以前のパスが表示されたポップアップが表示されます。

クリア方法は…!

前もって感謝します。

4

7 に答える 7

5

提案された方法はどれも私にはうまくいきませんでした。問題はに固有のものAsyncFileUploadではなく、input[type=file].

最後に、私はjavascriptで私のために働く方法を見つけました:

function uploadComplete(sender, args) {
    jQuery(sender.get_element()).find("input[type='file']")[0].form.reset();
}
于 2012-11-06T21:35:00.730 に答える
2

AsyncFileUpload 記述子の属性を OnClientUploadComplete="UploadComplete" に設定し、次の JS を使用します。

function UploadComplete(sender, arg2) {
  // clear file
  var fileInputElement = sender.get_inputFile();
  fileInputElement.value = "";
}

「fileInputElement」にも任意のアクション/スタイルを適用できます。

于 2010-04-25T18:30:04.543 に答える
1

上記のadorの答えを拡張するには:

function uploadComplete(sender, args) {
    var uploadField = $(sender.get_element()).find("input[type='file']");
    uploadField[0].form.reset();
    uploadField.each(function () { $(this).css("background-color", "white"); });
}
于 2013-01-24T00:42:20.830 に答える
0

これは、Jmoon の回答の修正です。これは、アップロードの完了後ではなく、他のユーザー アクションの後に AsyncFileUpload テキストをクリアする場合に便利です。

function clearContents() {
    var AsyncFileUpload = $("#<%=AsyncFileUpload1.ClientID%>")[0];
    var txts = AsyncFileUpload.getElementsByTagName("input");
    for (var i = 0; i < txts.length; i++) {
        txts[i].value = "";
        txts[i].style.backgroundColor = "transparent";
    }
}
于 2012-11-23T12:12:39.463 に答える
0

クライアント側でクリアしようとしている場合、これは私にとってはうまくいきました。

<script type = "text/javascript">
function clearContents() {
    var AsyncFileUpload = $get("<%=AsyncFileUpload1.ClientID%>");
    var txts = AsyncFileUpload.getElementsByTagName("input");
    for (var i = 0; i < txts.length; i++) {
        if (txts[i].type == "file") {
            txts[i].value = "";
            txts[i].style.backgroundColor = "transparent";
        }
    }
}

function uploadComplete(sender) {
    clearContents();
}
</script>
于 2012-05-15T15:42:45.113 に答える
0

Ajax Control Toolkit のコントロールを使用していると仮定すると、アップロードが完了するとクライアント側で呼び出される OnClientUploadedComplete ハンドルにフックできます。モーダルポップアップで hide を呼び出したい

 var modalPopupBehavior = $find('popupID');
 modalPopupBehavior.hide();
于 2009-11-28T19:33:28.307 に答える
0

これにより、テキストボックスが確実にクリアされます。

var AsyncFileUpload = $get("<%=AsyncFileUpload1.ClientID%>");
    var txts = AsyncFileUpload.getElementsByTagName("input");
    for (var i = 0; i < txts.length; i++) {
        if (txts[i].type == "file") {
            txts[i].style.backgroundColor = "transparent";
            txts[i].form.reset();
        }
    }
于 2013-05-11T04:56:34.713 に答える