<input type="file" id="attachfile1" name="attachfile1" />
<input type="button" id="upload1" name="upload1" onclick="selectFile()" value="..."/>
js:
function selectFile(){
$('#attachfile1').click();
}
如上所示: 有一个file 和 一个button 用 ajaxFileUpload上传文件, 第一种情况:用file选择文件,再调用ajaxFileUpload,可以上传到后台; 第二种情况:用按下button,触发file的click事件,选择文件,再调用ajaxFileUpload,后台无反应,我把input的name="attachfile1"属性去掉,能进到后台的上传方法,但是因为没有name属性,那些文件名都是空 为什么呢? 谢谢!!!!
出于安全问题,不允许你用script去给文件框执行click事件。 有的浏览器根本不会触发事件(根本不会弹出文件选择框), 有的浏览器可以触发事件,但是文件不会被上传。
估计你是想把按钮给做成自己想要的效果,那么可以换个思路。 比如把文件框给变成透明的,然后在它的文件选择按钮的下面,布置一个你自己效果的按钮。因为它是透明的,所以用户看到的是你自己效果的按钮,当用户点击你自己效果按钮的时候,实际上是点击到了透明的文件选择按钮,这样就和你第一个测试是一个效果了。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。