file的onclick事件如何触发?

huangfairy 2011-11-15 04:33:43
做一个图片上传工具,借用网上说的做法:点击一个a或者button,触发file的onclick事件,为什么IE、FF、傲游下全部无效啊,文件选择框根本没弹出来?代码类似于:
$("#buttonId").click(funcrion(e){
$("#theFile").trigger("click");
});

初次发帖,望各位大侠指点迷津!
...全文
396 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangfairy 2011-11-16
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 luxu001207 的回复:]

你用swfupload吧,多文件上传单文件上传都是由你自己设置的,至于不要进度条也行,直接隐藏掉或者去掉都可以的
[/Quote]

我的后台是Spring MVC,参数怎么弄的啊?
  • 打赏
  • 举报
回复
楼主说的需求,意思应该是设置另一个对象的onclick事件,在里面调用FILE的click方法吧,而和FILE的onclick无关。用我上面的方式就行了。
  • 打赏
  • 举报
回复
$("#buttonId").click(funcrion(e){
document.getElementById('theforever_csdn').click();//换成你的FILE ID
});
  • 打赏
  • 举报
回复
<input type="file" id="theforever_csdn">
<script>
document.getElementById('theforever_csdn').click();
</script>

如果给FILE设置了onclick()事件,直接调用其click()方法就会激活onclick()事件了。
Atai-Lu 2011-11-15
  • 打赏
  • 举报
回复
你用swfupload吧,多文件上传单文件上传都是由你自己设置的,至于不要进度条也行,直接隐藏掉或者去掉都可以的
huangfairy 2011-11-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 luxu001207 的回复:]

<script>
var doClick=function(){
var obj=document.getElementById("ts");
if(obj.fireEvent){obj.fireEvent("onclick");}
else if(obj.onclick){obj.onclick();}
};
</script>
<input type="file" id="ts……
[/Quote]

我刚刚像你这样加onclick,确实都执行了alert(),但是没有弹出文件选择框。是浏览器出去安全的考虑导致没有弹出选择框吗?有没有什么解决方案啊~
Atai-Lu 2011-11-15
  • 打赏
  • 举报
回复
<script>
var doClick=function(){
var obj=document.getElementById("ts");
if(obj.fireEvent){obj.fireEvent("onclick");}
else if(obj.onclick){obj.onclick();}
};
</script>
<input type="file" id="ts" value="" onclick="alert('x');"/>
<input type="submit" value="click" onclick="doClick()"/>

fireEvent是一个属性,IE下的,可以用它来触发事件

我测试过了,onclick事件是可以触发的,但没有弹出选择文件的框
huangfairy 2011-11-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hookee 的回复:]

localhost是可以的,不是本地信任站点可能有权限问题。
可以用swfupload取代 www.swfupload.org

HTML code

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<scri……
[/Quote]

我要做成的效果是点击一个图标,选择图片之后,直接将图片返提交回到后台储存,返回到前台提供预览。
swf是多文件上传并且还有进度条吧,可以用来解决我的问题吗?
huangfairy 2011-11-15
  • 打赏
  • 举报
回复
fireEvent是什么意思?我试过你的代码,貌似不行~
[Quote=引用 2 楼 luxu001207 的回复:]

JScript code


$("#buttonId").click(funcrion(e){
var obj=document.getElementById("theFile");
if(obj.fireEvent){obj.fireEvent("onclick");}
else{if(obj.onclick) obj.onclick();}
});
[/Quote]
hookee 2011-11-15
  • 打赏
  • 举报
回复
localhost是可以的,不是本地信任站点可能有权限问题。
可以用swfupload取代 www.swfupload.org


<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
$("#buttonId").click(function(e){
$("#theFile").trigger("click");
});

});
</script>
<input type="file" id="theFile">
<input type="button" id="buttonId" value="click">
Atai-Lu 2011-11-15
  • 打赏
  • 举报
回复


$("#buttonId").click(funcrion(e){
var obj=document.getElementById("theFile");
if(obj.fireEvent){obj.fireEvent("onclick");}
else{if(obj.onclick) obj.onclick();}
});

三石-gary 2011-11-15
  • 打赏
  • 举报
回复
贴出你的代码。。。

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧