解决Easyui Tab href 加载对话框中form重复提交问题
来源:互联网 发布:linux返回根目录命令 编辑:程序博客网 时间:2024/05/18 12:44
原因分析:
只要是对话框,或者Window,Easyui都会将其放到body下,tab控件通过href加载对话框后,对话框也会放到body下,当tab被关闭时,处于body下的对话框不会被销毁,再次打开时就会重复加载,从而form会重复提交。
临时解决方法是,先记录下href加载了哪些对话框,在tab被关闭时,去destroy那些对话框。
$('#tabs').tabs('add', { id: node.id, title : node.text, href : '/core/showPage.php?page=' + node.href, selected : true, iconCls : node.iconCls, closable : true, onLoad: function(){ var pageID = 'hxPageID' + this.id, body = $('body'); body.find('div.panel.window>div.panel-body.panel-body-noborder.window-body').filter(function() { return ( ! $(this).hasClass('hxAutoDlg')); }).addClass( 'hxAutoDlg ' + pageID ); body.find('input.combo-f').filter(function(){ return ( ! $(this).hasClass('hxAutoComb')); }).addClass('hxAutoComb ' + pageID ); body.find('input.searchbox-f').filter(function(){ return ( ! $(this).hasClass('hxASearchBox')); }).addClass('hxASearchBox ' + pageID ); body.find('input.textbox-f').filter(function(){ var _this = $(this); return ( ! ( _this.hasClass('hxAutoComb') || _this.hasClass('hxASearchBox') || _this.hasClass('hxADText'))); }).addClass('hxADText ' + pageID ); body.find('a.m-btn:has(span>span.m-btn-downarrow)').filter(function(){ return ( ! $(this).hasClass('hxABtmenu')); }).addClass('hxABtmenu ' + pageID ); }, onBeforeDestroy: function() { var pageID = 'hxPageID' + this.id, body = $('body'); body.find('a.hxABtmenu.' + pageID ).each(function(){ var _this = $(this); if( _this.hasClass('s-btn')) _this.splitbutton('destroy'); else _this.menubutton('destroy'); }); body.find('input.hxADText.' + pageID ).each( function(){ var _this = $(this); if( _this.hasClass('numberspinner-f')) _this.numberspinner('destroy'); else if( _this.hasClass('numberbox-f')) _this.numberbox('destroy'); else _this.textbox('destroy'); }); body.find('input.hxASearchBox.' + pageID ).each( function(){ $(this).searchbox('destroy'); }); body.find('input.hxAutoComb.' + pageID ).each(function(){ var _this = $(this); if( _this.hasClass('combogrid-f')) _this.combogrid('destroy'); else if( _this.hasClass('combotree-f')) _this.combotree('destroy'); else if( _this.hasClass('datebox-f')) _this.datebox('destroy'); else _this.combobox('destroy'); }); body.find('.hxAutoDlg.' + pageID ).each(function(){ $(this).dialog('destroy'); }); } });
0 0
- 解决Easyui Tab href 加载对话框中form重复提交问题
- easyui的tab加载页面中的form重复提交
- easyui的tab加载页面中的form重复提交
- 解决Form表单重复提交问题
- 解决Form表单重复提交问题
- 解决easyui的tab页面中form验证失效
- 解决form表单重复提交以及多页面提交问题
- 解决easyui 已打开tab重新加载问题
- easyui form表单提交问题
- 解决FORM的重复提交
- 解决FORM的重复提交
- 解决FORM的重复提交
- easyUI的form表单重复提交处理
- form表单重复提交问题
- 解决按钮重复提交问题 (Jtable中重复显示数据)
- Jquery Easyui Tab中表单重复提交问题解决
- easyUI Tab href,content区别
- 如何解决Form表单的重复提交
- SpringMVC学习笔记之SpringMVC的架构原理图
- Tab 选项卡
- Cocoapods 执行不同的版本,安装多个版本
- 自定义类加载器(实现加密和解密)
- 在ASP.NET MVC 中获取当前URL、controller、action
- 解决Easyui Tab href 加载对话框中form重复提交问题
- Ubuntu命令行启动Matlab
- Java StringBuffer 用法
- ecshop二次开发--放大镜
- 手把手教你搞懂麦克风的技术指标
- intent.setAction的介绍
- 机器学习笔记2——分类
- 百度登录加密协议分析(下)
- rails 练习6 --让使用者可以投票