jQuery UI Dialog控件中的表单无法正常提交的解决方法


Posted in Javascript onDecember 19, 2010

最近使用jQuery UI的Dialog控件时发现如果在此控件放置表单,则所有表单均无法正常提交,具体表现为:
1.提交按钮失效,点击后无任何反应。

2.即便是使用其它手段使页面产生提交,服务器端也无法取到Dialog中的表单数据。

研究了页面源码后发现,jQuery UI Dialog控件初始化时动态生成的HTML元素被添加到页面的尾部、form元素的后面,而原始的Dialog模板部分(其内包含表单元素)也被移到了 动态生成的HTML元素内。也就是说,原先在form内的表单在Dialog初始化后就被移到form外了,这就导致了Dialog模板内表单全部失效。

不知jQuery UI的Dialog这样设计是一项功能还是一个bug。为了在Dialog内实现正常的页面提交,根据上述分析,我找到一个简单的解决办法——在jQuery UI控件的“open”事件处理程序中将Dialog控件动态生成的HTML元素移到form元素内,代码如下:

$("#dlg").dialog({ 
open: function () { 
$("body > div[role=dialog]").appendTo("form#aspnetForm"); 
} 
});

代码中的“aspnetForm”是ASP.NET应用程序自动生成的当前页面form元素ID,使用时你可以换成自己页面的form ID。
Javascript 相关文章推荐
jQuery 操作下拉列表框实现代码
Feb 22 Javascript
JavaScript制作的可折叠弹出式菜单示例
Apr 04 Javascript
JQuery弹出炫丽对话框的同时让背景变灰色
May 22 Javascript
jQuery动态星级评分效果实现方法
Aug 06 Javascript
全面了解JavaScript的数据类型转换
Jul 01 Javascript
BootStrap 下拉菜单点击之后不会出现下拉菜单(下拉菜单不弹出)的解决方案
Dec 14 Javascript
JavaScript纯色二维码变成彩色二维码
Jul 23 Javascript
vue2.0 自定义日期时间过滤器
Jun 07 Javascript
JS基于递归实现网页版计算器的方法分析
Dec 20 Javascript
Angular5.1新功能分享
Dec 21 Javascript
vue实现的多页面项目如何优化打包的步骤详解
Jul 19 Javascript
vuex管理状态仓库使用详解
Jul 29 Javascript
超酷的网页音乐播放器DewPlayer使用方法
Dec 18 #Javascript
有关js的变量作用域和this指针的讨论
Dec 16 #Javascript
关于JavaScript中var声明变量作用域的推断
Dec 16 #Javascript
jquery中动态效果小结
Dec 16 #Javascript
关于jquery append() html时的小问题的解决方法
Dec 16 #Javascript
Javascript学习笔记二 之 变量
Dec 15 #Javascript
Javascript学习笔记一 之 数据类型
Dec 15 #Javascript
You might like
PHP 编写的 25个游戏脚本
2009/05/11 PHP
PHP的变量类型和作用域详解
2014/03/12 PHP
Apache无法自动跳转却显示目录的解决方法
2020/11/30 PHP
PHP会话操作之cookie用法分析
2016/09/28 PHP
优秀js开源框架-jQuery使用手册(1)
2007/03/10 Javascript
JQuery循环滚动图片代码
2011/12/08 Javascript
jquery.hotkeys监听键盘按下事件keydown插件
2014/05/11 Javascript
jQuery实现给页面换肤的方法
2015/05/30 Javascript
分享jQuery插件的学习笔记
2016/01/14 Javascript
JS把内容动态插入到DIV的实现方法
2016/07/19 Javascript
前端JS面试中常见的算法问题总结
2016/12/23 Javascript
JS中使用textPath实现线条上的文字
2017/12/25 Javascript
vue项目中跳转到外部链接的实例讲解
2018/09/20 Javascript
学习jQuery中的noConflict()用法
2018/09/28 jQuery
使用vuex解决刷新页面state数据消失的问题记录
2019/05/08 Javascript
javascript简单实现深浅拷贝过程详解
2019/10/08 Javascript
Vue实现将数据库中带html标签的内容输出(原始HTML(Raw HTML))
2019/10/28 Javascript
Node.js中文件系统fs模块的使用及常用接口
2020/03/06 Javascript
如何使用JavaScript检测空闲的浏览器选项卡
2020/05/28 Javascript
python快速排序代码实例
2013/11/21 Python
Python中针对函数处理的特殊方法
2014/03/06 Python
linux下python使用sendmail发送邮件
2018/05/22 Python
Python设计模式之工厂方法模式实例详解
2019/01/18 Python
Python可迭代对象操作示例
2019/05/07 Python
Python Opencv提取图片中某种颜色组成的图形的方法
2019/09/19 Python
HTML5 CSS3打造相册效果附源码下载
2014/06/16 HTML / CSS
日本动漫周边服饰销售网站:Atsuko
2019/12/16 全球购物
大众服装店创业计划书范文
2014/01/01 职场文书
社区禁毒工作方案
2014/06/02 职场文书
消防工作实施方案
2014/06/09 职场文书
八荣八耻的活动方案
2014/08/16 职场文书
教师三严三实心得体会
2014/10/11 职场文书
健康证明
2015/06/19 职场文书
春季运动会加油词
2015/07/18 职场文书
如何利用golang运用mysql数据库
2022/03/13 Golang
shell进度条追踪指令执行时间的场景分析
2022/06/16 Servers