jQuery UI Dialog控件中的表单无法正常提交的解决方法
最近使用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。
相关推荐
-
jquery实现submit提交表单
使用jquery的submit()函数提交form表单时,总是无法提交表单.这个问题太诡异了,是因为form中提交表单的input的name属性为submit,把name改成其他的名称,就可以使用了. 表单可以提交之后,又出现了新的问题.由于基于dz开发,表单提交之后使用submitcheck()这个函数来检查表单是否提交,由jquery提交上来的表单始终无法验证通过.最后采用模拟点击提交按钮的方法来实现. 复制代码 代码如下: <!-- lang: js --> $('input#asubm
-
jQuery表单域属性过滤器用法分析
本文实例讲述了jQuery表单域属性过滤器用法.分享给大家供大家参考.具体分析如下: 表单内包含各种各样的表单域,使用表单域属性选择器可以很好的获取已被选中的单选按钮,复选框以及列表项,也可以根据是否可用从文档中查找表单域. 1. :checked选择器 用于选择所有被选中的表单域.格式: 复制代码 代码如下: $("selector:checked") 可以是input,radio和checkbox 2. :enabled选择器 用于选择所有可用的表单域,格式: 复制代码 代码如下:
-
jQuery操作DOM之获取表单控件的值
本文实例讲述了jQuery操作DOM之获取表单控件的值.分享给大家供大家参考.具体分析如下: HTML属性与DOM属性差别最大的地方,恐怕就要数表单控件的值了.比如,文本输人框的 value属性在DOM中的属性叫defaultValue,DOM中就没有value属性.而选项列表(select) 元素呢,其选项的值在DOM中通常是通过selectedIndex属性,或者通过其选项元素的 selected属性来取得. 由于存在这些差异,在取得和设置表单控件的值时,最好不要使用.attr()方法.而对
-
jQuery表单域选择器用法分析
本文实例分析了jQuery表单域选择器用法.分享给大家供大家参考.具体如下: 表单域是指网页中的input,textarea, select和button元素. 1. :input选择器 复制代码 代码如下: $(":input") 2. :text选择器 复制代码 代码如下: $(":text") 3. :password选择器 复制代码 代码如下: $(":password") 4. :radio选择器 复制代码 代码如下: $("
-
jQuery操作表单常用控件方法小结
本文实例总结了jQuery操作表单常用控件方法.分享给大家供大家参考.具体如下: 下面的JS代码列出了jQuery操作表单常用控件(包括select,radiobox,checkbox)的常用方法,相信一定有你需要的 操作radio的html代码 Radion <input type="radio" name="rd" id="rd1" checked="checked" value="rd1" /&
-
jQuery实现表单提交时判断的方法
本文实例讲述了jQuery实现表单提交时判断的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <input type="submit" id="myBtn" /> 换成: 复制代码 代码如下: <input type="button" id="myBtn" /> 使用: 复制代码 代码如下: $("#myBtn").click(function(){ ..
-
jQuery实现根据类型自动显示和隐藏表单
jquery实现表单根据单选按钮进行字段的动画切换,昨天写的,感觉比起初学时写的js/jquery有了很大进步..在最大化扩展性的情况下经可能使代码精简. html 复制代码 代码如下: <div class="control-group"> <label class="control-label">类型:</label> <div class=
-
jQuery UI Dialog控件中的表单无法正常提交的解决方法
最近使用jQuery UI的Dialog控件时发现如果在此控件放置表单,则所有表单均无法正常提交,具体表现为: 1.提交按钮失效,点击后无任何反应. 2.即便是使用其它手段使页面产生提交,服务器端也无法取到Dialog中的表单数据. 研究了页面源码后发现,jQuery UI Dialog控件初始化时动态生成的HTML元素被添加到页面的尾部.form元素的后面,而原始的Dialog模板部分(其内包含表单元素)也被移到了 动态生成的HTML元素内.也就是说,原先在form内的表单在Dialog初始化
-
ThinkPHP表单令牌错误的相关解决方法分析
本文分析了ThinkPHP表单令牌错误的相关解决方法.分享给大家供大家参考,具体如下: 今天在用ThinkPHP做程序的时候,以前用create创建数据的时候,出现了错误提示"表单令牌错误",然后各种百度各种谷歌,得到的网上解答给出了以下的建议 1.清缓存: 用了,我把所有的Cache下的文件都删掉了,并将~app.php和~runtime.php两个文件同时都删掉了,但是没有效果. 2.将TOKEN_ON参数设置为FALSE: 试过了,但是也不行,虽然不提示表单令牌错误了,但是添加到
-
关于layui表单中按钮自动提交的解决方法
layui表单中的按钮会自动提交,这是一个很麻烦的事情. 这几天项目中多次用到表单按钮,仔细研究了下,找到了解决方法: 1.如果不需要放在表单中的按钮,最好不要放在表单中,不在layui的form中的按钮就不会进行自动提交了: 2.放在表单中的按钮可以通过js中的回调函数里添加 return false制止.filter中的参数指的是按钮中的lay-filter属性中的值,这个可以自己随便设. 比如: form.on('submit(filter)',function(data){ ......
-
Ajax提交表单页面刷新很快的解决方法
注:使用ajax 提交表单时 type类型最好不用submit 用button合适 <form> <div class="col-md-9 col-sm-9 col-xs-12 col-md-offset-3"> <input type="button" class="btn btn-info" value="重置" onclick="return resetaa()">
-
jquery BS,dialog控件自适应大小
样式有点丑,为此,还重搞了个样式,哪知以为完工的时候,发现IE上工作不正常,自适应大小等无法实现. 原来它需要xhtml才行,而公司的产品是html的.为此,研究了一下自适应大小的实现. 原来一直觉得jquery取宽度高度很神奇,原来是直接取的dom中element的offsetWidth/offsetHeight等属性,当有element插入dom中,浏览器就会根据规则计算出相应的属性,这里抄几个相关的属性. scrollWidth 是对象的实际内容的宽,不包边线宽度,会随对象中内容的多少改变
-
jQuery获取file控件中图片的宽高与大小
问题 如何判断input file表单里上传的图片的宽高和大小呢? 解决方案 这个时候图片还没真正上传,也不是在页面上展示,不能使用$("#id").width(),$("#id").height()这种方式. 在Stack Overflow找到一个方法获取input file图片文件的宽高: var _URL = window.URL || window.webkitURL; $("#file").change(function (e) { v
-
form.submit()不能提交表单的错误原因及解决方法
直接上代码把: <div id="register"> <h4>会员注册</h4> <div class="formdiv"> <form method="post" action="register.php?action=register" name="register" id="registerForm"> <dl&g
-
mysql中插入表数据中文乱码问题的解决方法
一.问题 开发中遇到将其它数据库数据插入到mysql数据库表中一直会报类似如下错误: Incorrect string value: '\xE6\x88\x91' for column 'name' at row 1 二.分析 1.我先去查了两个数据库表中此字段对应的类型都是 varchar,所以不存在类型不一致导致插入报错的问题. 2. 排除字段类型不一致导致的错误后,我猜测是中文乱码问题,然后插入纯英文数据发现没有报错,所以确定了是中文乱码问题.然后网上百度发现是mysql默认的编码问题导致
-
.NET 刷新页面防止表单二次提交的实现方法
1.页面上按钮是服务器控件,现在刷新页面要防止按钮事件重复执行
-
php实现表单多按钮提交action的处理方法
表单内有两个提交按钮,要实现当点击不同的提交按钮时,分别进行两个不同的处理过程,在这里有实现表单多按钮提交action的处理方法分享给大家. 用PHP判断,一个表单两个按钮,按钮的name属性设为相同,但值设为不同,表单提交后,只需要判断提交上来的值就可以转到不同的处理过程去,这个方法比较合理,适合多个按钮在一个表单里. PHP方法,代码如下: <?php echo "$sub<br>\n"; if ("s1"==$sub) { ... } els
随机推荐
- Jquery解析Json格式数据过程代码
- JavaScript中document.referrer的用法详解
- Spring3.1.1+MyBatis3.1.1的增、删、查、改以及分页和事务管理
- Ajax异步无刷新对局部数据更新
- PHP中用接口、抽象类、普通基类实现“面向接口编程”与“耦合方法”简述
- 关于PHP实现异步操作的研究
- js实现短信发送倒计时功能(正则验证)
- css 二级菜单 实现代码集合 修正版
- JavaScript实现滚动栏效果的方法
- Ubuntu下Nginx配置ThinkPHP的Pathinfo和URl Rewrite模式
- PHP错误提示的关闭方法详解
- PHP __autoload()方法真的影响性能吗?
- 深入理解goto语句的替代实现方式分析
- 手把手教你把网上下载视频刻录成VCD、DVD的图文教程第1/2页
- jQuery实现仿Alipay支付宝首页全屏焦点图切换特效
- jquery DataTable实现前后台动态分页
- 详解Android中Service服务的基础知识及编写方法
- Android模拟实现网易新闻客户端
- 千兆网线的做法,千兆水晶头的做法
- Java Swing实现JTable检测单元格数据变更事件的方法示例