要求实现:用户选择附件,点击添加的时候完成上传功能并且清空<input type="file"/>里面的内容。
我通过$("#<%= FileUpload1.ClientID%>").val("");的方式是可以实现的,但是我看了好多网上的资料,说value是只读的,只能够让用户选择添加的时候修改,这是为什么呢?
为了安全呗,想想你可以自己设置任何值,你完全可以把用户电脑里面的东西上传到你的服务器来分析,谁都不允许啊。。。
对啊,但是我通过$("#<%= FileUpload1.ClientID%>").val("");的方式也将内容清空了,这不是矛盾了吗?
@最美的不是下雨天: 不知道,也许清空可以,你试试你直接赋值其他值可以不?
@顾晓北: 是我对控件理解不到位,我通过$("#<%= FileUpload1.ClientID%>").val("");的方式value不能被清空,但是显现的文件名被清除了,有点不理解。
@最美的不是下雨天: 哦,就是说value还是有的,只不过显示的东西没了?
@顾晓北: 是的,目的是达到了,但是为什么是这样不理解
@最美的不是下雨天: 对于value你改变不了,这可以理解,为了安全,但是又允许你清空看得见的文件名,理解不了,其他浏览器也这样么?还是只有ie?
@顾晓北: 恩,我在ie 火狐 谷歌浏览器上都是这样,就是我不清楚显示的文件名保存的具体是什么内容
FileUpload使用的flash,可以请,但是对于原生态type="file"的在ie下就不能清,value为只读,ie为了安全
我自己试了下,在ie,火狐,谷歌里面都是可以的,type="file"
是我对控件理解不到位,我通过$("#<%= FileUpload1.ClientID%>").val("");的方式value不能被清空,但是显现的文件名被清除了,有点不理解。
@最美的不是下雨天: 之前我做了一种处理,就是上传完了将控件先clone一份,然后remove在添加,就是为了处理IE8
@powerixao: 恩,这样做是可以的。