有一个按钮(MyButton)。 单击此按钮会出现一个modalpopup(MyPopup),其中包含一个asyncfileupload ajax控件,“确定”按钮和“取消”按钮。
asyncfileupload功能的浏览功能正常,没问题。 但是在回发之后,如果我再次单击MyButton,弹出窗口将出现在asyncfileupload控件的文本框中的上一个路径中。
如何清除它......!
提前致谢。
答案 0 :(得分:5)
所提议的方法都不适合我。
问题并非针对AsyncFileUpload
,而是针对input[type=file].
最后,我发现了一种适用于javascript的方式:
function uploadComplete(sender, args) {
jQuery(sender.get_element()).find("input[type='file']")[0].form.reset();
}
答案 1 :(得分:2)
将AsyncFileUpload描述符的属性设置为OnClientUploadComplete =“UploadComplete”并使用下一个JS:
function UploadComplete(sender, arg2) {
// clear file
var fileInputElement = sender.get_inputFile();
fileInputElement.value = "";
}
您也可以将任何操作/样式应用于“fileInputElement”。
答案 2 :(得分: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"); });
}
答案 3 :(得分:0)
假设您正在使用Ajax Control Toolkit中的控件,您可以挂钩OnClientUploadedComplete句柄,该句柄在上载完成后在客户端调用。你想在模态弹出窗口中调用hide
var modalPopupBehavior = $find('popupID');
modalPopupBehavior.hide();
答案 4 :(得分: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>
答案 5 :(得分:0)
这是对月亮答案的修正。如果要在上载完成后但在执行其他一些用户操作后清除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";
}
}
答案 6 :(得分: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();
}
}