ajaxFileUpload 文件上传问题

问题描述

<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事件。有的浏览器根本不会触发事件(根本不会弹出文件选择框),有的浏览器可以触发事件,但是文件不会被上传。估计你是想把按钮给做成自己想要的效果,那么可以换个思路。比如把文件框给变成透明的,然后在它的文件选择按钮的下面,布置一个你自己效果的按钮。因为它是透明的,所以用户看到的是你自己效果的按钮,当用户点击你自己效果按钮的时候,实际上是点击到了透明的文件选择按钮,这样就和你第一个测试是一个效果了。
解决方案二:
这样试试<form><input type="file" id="attachfile1" name="attachfile1" /> </form><input type="button" id="upload1" name="upload1" onclick="attachfile1.click();" value="..."/>

时间: 2024-12-08 23:14:11

ajaxFileUpload 文件上传问题的相关文章

jQuery插件AjaxFileUpload文件上传实现Javascript多文件上传功能

Ajax file upload plugin是一个功能强大的文件上传jQuery插件,可自定义链接.或其它元素庖代传统的file表单上传结果,可实现Ajax动态提示文件上传 过程,同时支撑多文件上传,AjaxFileUpload文件上传插件功能斗劲稳定,今朝应用也斗劲多,简单应用实例如下: 查看AjaxFileUpload相干jQuery官方文档介绍 AjaxFileUpload JS库文件 查看AjaxFileUpload演示 一,创建一个ajax upload按钮元素(button),

上传文件-ajaxfileupload 文件上传的问题

问题描述 ajaxfileupload 文件上传的问题 ajaxfileupload上传文件,提交时为什么原来的file显示未选择文件 解决方案 因为被提交的input file对象被添加到另外一个隐藏表单中,而用一个clone的file对象显示在原来的文字,clone的file对象是不能继承原来选择的文件value的(安全问题). 下面是源代码 var oldElement = jQuery('#' + fileElementId); var newElement = jQuery(oldEl

代码-ajaxfileupload.js文件上传SecurityError:Blocked

问题描述 ajaxfileupload.js文件上传SecurityError:Blocked 1C 采用ajaxfileupload.js这个插件配合jquery-1.8.0.min.js多文件上传,在本地测试没问题,发上生产时,报:SecurityError:Blocked a frame with origin""https://31.0.3.4""from accessing a cross-originframe.客户那边https://31.0.3.4是

js 多文件上传-ajaxfileupload.js 文件上传

问题描述 ajaxfileupload.js 文件上传 ajaxfileupload.js 第一次上次没问题 第二次获取不到文件 clone(true); 在网上查找了一下 添加了 true也没有用 求大神指点! 解决方案 ajaxfileupload.js 文件上传插件之改进ajaxfileupload 文件上传ajaxfileupload.js+springMVC实现无刷新文件上传 解决方案二: http://blog.csdn.net/zhanglu201112/article/detai

jQuery插件AjaxFileUpload实现ajax文件上传_jquery

本文实例为大家分享了AjaxFileUpload实现文件上传的具体代码,供大家参考,具体内容如下 jQuery插件AjaxFileUpload用来实现ajax文件上传,该插件使用非常简单,接下来写个demo演示怎么用AjaxFileUpload插件实现文件上传. 1.引入AjaxFileUpload插件相关的js 复制代码 代码如下: <script type="text/javascript" src="<%=basePath%>resources/js/

jquery jaxFileUpload文件上传插件使用详解

jaxFileUpload简介 ajaxFileUpload插件是一个非常简单的基于Jquery的异步上传文件的插件,使用过程中发现很多与这个同名的,基于原始版本基础之上修改过的插件,文件版本比较多,我把我自己使用的ajaxFileUpload文件上传到博客园上了,想要使用的朋友可以下载:/ajaxfileupload.js. 整个插件源码不到200行,实现非常简单,大致原理就是通过js动态创建隐藏的表单,然后进行提交操作,达到附件上传的目的,主要实现在源码里都有注释,不难理解,我们也可以基于此

ajaxFileUpload实现多文件上传

前提条件: ajaxFileUpload.js插件多文件上传 步骤: 1.修改源码,(源码只支持单个文件的上传): //修改前代码------- //var oldElement = jQuery('#' + fileElementId); //var newElement = jQuery(oldElement).clone(); //jQuery(oldElement).attr('id', fileId); //jQuery(oldElement).before(newElement);

AjaxFileUpload+Struts2实现多文件上传功能

本文重点给大家介绍AjaxFileUpload+Struts2实现多文件上传功能,具体实现代码大家参考下本文. 单文件和多文件的实现区别主要修改两点, 一是插件ajaxfileupload.js里接收file文件ID的方式 二是后台action是数组形式接收 1.ajaxFileUpload文件下载地址http://www.phpletter.com/Demo/AjaxFileUpload-Demo/ 2.引入jquery-1.8.0.min.js.ajaxFileUpload.js文件 3.文

AjaxFileUpload结合Struts2实现多文件上传(动态添加文件上传框)

上篇文章http://www.jb51.net/article/124489.htm介绍了ajaxfileupload实现多文件上传, 但只是固定的文件个数,如果需求不确定是多少文件 则我们就需要动态的添加文件上传框,以实现灵活性. 基于上篇基本框架是不变的,主要修改以下几个方面 1.jQuery实现动态添加删除文件上传框 2.获取文件上传框的ID 3.ajaxfileupload.js里将ID数组转换为需要的Object数组 依次解决上面问题 一.实现动态添加删除文件上传框 <body> &