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 相关文章推荐
javascript 单选框,多选框美化代码
Aug 01 Javascript
javascript垃圾收集机制与内存泄漏详细解析
Nov 11 Javascript
让浏览器DOM元素最后加载的js方法
Jul 29 Javascript
jquery实现网页定位导航
Aug 23 Javascript
Vue.js每天必学之过渡与动画
Sep 06 Javascript
JS实现页面载入时随机显示图片效果
Sep 07 Javascript
easyui messager alert 三秒后自动关闭提示的实例
Nov 07 Javascript
Scala解析Json字符串的实例详解
Oct 11 Javascript
javascript+html5+css3自定义弹出窗口效果
Oct 26 Javascript
js 将canvas生成图片保存,或直接保存一张图片的实现方法
Jan 02 Javascript
vue鼠标悬停事件实例详解
Apr 01 Javascript
JS数组属性去重并校验重复数据
Jan 10 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
Terran建筑一览
2020/03/14 星际争霸
PHP接收json 并将接收数据插入数据库的实现代码
2015/12/01 PHP
py文件转exe时包含paramiko模块出错解决方法
2016/08/12 PHP
php发送http请求的常用方法分析
2016/11/08 PHP
云网广告中的代码,提示出错,大家找找
2006/11/21 Javascript
从零学JS之你需要了解的几本书
2014/05/19 Javascript
兼容Firefox的Javascript XSLT 处理XML文件
2014/12/31 Javascript
jQuery+Ajax+PHP+Mysql实现分页显示数据实例讲解
2015/09/27 Javascript
JS组件Bootstrap Select2使用方法详解
2020/04/17 Javascript
JS实现CheckBox复选框全选、不选或全不选功能
2020/07/28 Javascript
教你用javascript实现随机标签云效果_附代码
2016/03/16 Javascript
微信小程序 input输入框详解及简单实例
2017/01/10 Javascript
Node.js搭建小程序后台服务
2018/01/03 Javascript
angular 服务的单例模式(依赖注入模式下)详解
2018/10/22 Javascript
Three.JS实现三维场景
2018/12/30 Javascript
JavaScript定时器设置、使用与倒计时案例详解
2019/07/08 Javascript
js针对图片加载失败的处理方法分析
2019/08/24 Javascript
ant design vue导航菜单与路由配置操作
2020/10/28 Javascript
vue穿梭框实现上下移动
2021/01/29 Vue.js
python使用xlrd实现检索excel中某列含有指定字符串记录的方法
2015/05/09 Python
python逆向入门教程
2018/01/15 Python
Python实现PS滤镜碎片特效功能示例
2018/01/24 Python
Python Handler处理器和自定义Opener原理详解
2020/03/05 Python
Python实现手绘图效果实例分享
2020/07/22 Python
Python 列表推导式需要注意的地方
2020/10/23 Python
美国定制钻石订婚戒指:Ritani
2017/12/08 全球购物
POP文化和音乐灵感的时尚:Hot Topic
2019/06/19 全球购物
Clarks鞋澳大利亚官方网站:Clarks Australia
2019/12/25 全球购物
CNC数控操作工岗位职责
2013/11/19 职场文书
先进集体事迹材料
2014/02/17 职场文书
物理学专业求职信
2014/07/04 职场文书
求职简历自荐信怎么写
2015/03/26 职场文书
教师外出学习心得体会
2016/01/18 职场文书
导游词之茶卡盐湖
2019/11/26 职场文书
MySQL创建索引需要了解的
2021/04/08 MySQL
基于go interface{}==nil 的几种坑及原理分析
2021/04/24 Golang