关于input的file框onchange事件触发一次失效的新的解决方法
在google了众多方法后,网上有这么几种方法:
1、替换掉原来的input框
2、remove原来的input框,然后在添加进新的一样的input框
但是不知道为什么非常不幸的是,怎么弄我都弄不出。。
后来我脑袋突然闪过一个灵感,我在触发了一次onchange事件后,他没反应,是不是onchange事件没有绑定,后来发现我的推测是正确的,然后我就重新给他绑定了一个onchange事件,测试通过!!!
问题解决!!
$("#targetFile").change(function(){
var filename = $(this).val();
$("#originalTargetFileName").val(filename);
});
$("#targetUpload").submit(function(){
$.ajaxFileUpload({
type: "post",
url: "${pageContext.request.contextPath}/upload.do",
secureuri:false,
fileElementId:"targetFile",
dataType: "json",
success: function(result,status) {
if (result.success == "1") {
alert("上传文件成功!");
var filename=getFileNameFromFilePath(result.fileRelativePath);
$("#target_upload_info").html("<div>"+"文件:"+filename+" <a href='javascript:void(0)' onclick='deletefile("+"\""+result.fileRelativePath+"\",\"target\")'>删除</a>"+"<br/></div>");
$("#target_upload_info").css("visibility", "visible");
$("#targetFileRelativePath").val(result.fileRelativePath);
} else {
$("#target_upload_info").html("文件上传失败: " + result.msg);
$("#target_upload_info").css({"visibility":"visible", "color":"red"});
}
},
complete: function(xmlHttpRequest) {
$("#targetFile").replaceWith('<input type="file" id="targetFile" name="upFile" style="display:none;"/>');
$("#targetFile").on("change", function(){
var filename = $(this).val();
$("#originalTargetFileName").val(filename);
});
},
error: function(data, status, e) {
alert("文件上传失败!");
}
});
return false;
});
关于input的file框onchange事件触发一次失效的新的解决方法的更多相关文章
- html input的file文件输入框onchange事件触发一次失效解决方法
最近在做一个图片上传的功能,出现提交一次后,file输入框的change事件无法再次触发的bug,就是说提交一次后必须刷新才能再次提交,这就坑了~ 于是想办法解决它~ 在网上找了一些资料,找到这几种方 ...
- SSH Secure File Transfer Client连接远程设备报“algorithm negotiation failed”错的解决方法
SSH Secure File Transfer Client连接远程设备报"algorithm negotiation failed"错的解决方法 ssh client 报 al ...
- INPUT[type=file]的change事件不触发问题
在网页上要操作文件通常会使用INPUT[type=file]控件,但这个控件的设计很蛋疼.它不像其它编程语言中文件选择后会触发一个事件,只是让上面的文字改变,而这个改变可能会触发change事件而已. ...
- HTML中让表单input等文本框为只读不可编辑但可以获取value值的方法;让文本域前面的内容显示在左上角,居中
HTML中让表单input等文本框为只读不可编辑的方法 有时候,我们希望表单中的文本框是只读的,让用户不能修改其中的信息,如使input text的内容,中国两个字不可以修改 有时候,我们希望 ...
- 【小知识点】input输入框在安卓以及IOS手机中光标及字体不居中解决方法
问题根本:不要使用line-height垂直居中. 解决方法:可直接定义height,然后高度由上下padding值撑开. input { height: 1rem; padding: 1rem 0; ...
- Select下拉框onchange事件获取option的value值
首先方法中使用到了jqury,首先导入jqury的插件: 如果jqury的小插件没有的话,就去网上下载一个吧,jqury比原生的js使用起来方便了很多,这里也提供一个我的jqury的下载地址: jqu ...
- input框只允许输入正整数、正数(包含小数)的解决方法 vue.js实现
我来打自己脸了!!!!...刚刚发现在中文输入法下是无效的,有人能解决这个问题么 如果要求input只能输入数字怎么做? 设置type="number" ? 那我如果想限制长度,此 ...
- ASP.net绑定文本框Enter事件到按钮 ASP.NET执行后台执行JS方法
txtAccountBarcode.Attributes.Add("onkeydown", "if(event.which || event.keyCode){if (( ...
- 安卓input框获取焦点时,底部按钮会顶上去的解决方法
var h = document.body.scrollHeight;window.onresize = function(){ if (document.body.scrollHeight < ...
随机推荐
- Dapper.NET——轻量ORM
Dapper.NET使用 http://www.cnblogs.com/yankliu-vip/p/4182892.html 本文目录 Dapper.NET使用 1.为什么选择Dapper 2.以Da ...
- 如何做好一个Sprint Demo
我列出了一些关于如何做好一个Demo(演示)的建议.我想通过以下四个步骤可以做出一个较好的Demo. 第一步:准备Demo故事 以真实用户使用软件的方式进行Demo.关键点不在于演示软件如何工作,而是 ...
- Ctrl-A全选这点事(C#,WinForm)
所有的文本框,不管单行多行都Ctrl-A全选就好了吧?是啊,很方便.Windows的软件基本都是这样.可为什么我们自己制作的WinForm就默认不是这样呢?谁知道呢,可能是WinForm饱受诟病,要改 ...
- 安装.NET Framework进度条卡住不动的解决方案
VS在安装之前需要安装.NET Framework,我安装的是4.0版本.但是安装进度条到一半左右时就卡住不动了.前前后后重试多次,还有几次重新开机,但都没用. 开始还以为是安装的系统有问题.后来在网 ...
- 使用fdisk给新增加硬盘分区
1.使用fdisk创建6个分区[1P+1E(5L)] //dev/sdb1 /dev/sdb5 /dev/sdb6 /dev/sdb7 /dev/sdb8 /deb/sdb9 [root@serv ...
- python注释、脚本参数、字节码
python注释.脚本参数.字节码 --道心 python安装 1.下载安装包 https://www.python.org/downloads/ 2.安装 默认安装路径:C:\python27 3. ...
- linux分区机制(MBR GPT)简介
- 理解 neutron(15):Neutron linux-bridge-agent 创建 linux bridge 的简要过程
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...
- 嵌入式Linux驱动学习之路(二十七)字符设备驱动的另一种写法
之前讲的字符设备驱动程序,只要有一个主设备号,那么次设备号无论是什么都会和同一个 struct file_operations 结构体对应. 而本节课讲的是如何在设备号相同的情况下,让不同的次设备号对 ...
- Integrating SharePoint 2013 with ADFS and Shibboleth
Time again to attempt to implement that exciting technology, Federation Services (Web Single Sign On ...