专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »DotNet » fileupload控件:如何在客户端清除fileUpLoad控件的文件路径 »正文

fileupload控件:如何在客户端清除fileUpLoad控件的文件路径

来源: 发布时间:星期六, 2008年12月13日 浏览:161次 评论:0
  今天在写项目更新模块遇到个问题:.net fileUpLoad控件只要选择了文件在Postback时候这个文件都会被自动上传到服务器而我更新模块里需要有选择判断要不要上传文件原理说起来比较简单直接把fileUpLoad控件选定文件去除不就行了贝可是使用js去除时候发现IE下fileUpLoad控件值居然还是只读而在FireFox下是可以更改如果在.net提交事件中来处理是不是要保存这个文件那就意味着被fileUpLoad控件选择文件都会被上传次到服务器只不过是你存不存问题了相当浪费带宽及服务器资源啊不过还好馒头BLOG里给出了解决办法经比较个人感觉以下方式比较好:
引用
创建个新form把上传控件临时放过来这个formre方法完工之后再把上传控件弄回去这个form无需进入DOM结构便能正常工作所以不用担心会对界面有任影响
  具体解决代码:view plaincopy to clipboardpr?
//把这个JS放到页面<body>中
<script language="javascript" type="text/javascript">
//清空文件上传框,file为上传表单对像
function clearFileInput(file){
var form=document.createElement('form');
document.body.appendChild(form);
//记住file在旧表单中位置
var pos=file.nextSibling;
form.appendChild(file);
form.re;
pos.parentNode.insertBefore(file,pos);
document.body.removeChild(form);
}
</script>

//把这个JS放到页面<body>中
<script language="javascript" type="text/javascript">
//清空文件上传框,file为上传表单对像
function clearFileInput(file){
var form=document.createElement('form');
document.body.appendChild(form);
//记住file在旧表单中位置
var pos=file.nextSibling;
form.appendChild(file);
form.re;
pos.parentNode.insertBefore(file,pos);
document.body.removeChild(form);
}
</script>view plaincopy to clipboardpr?
//添加按钮客户端脚本事件当然你也可以写在按钮属性里或是直接在HTMLbutton上加onclick事件也
btnCannel.OnClientClick = "clearFileInput(document.getElementById('" + 上传控件ID.ClientID + "'));"

1

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: