• 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。

    希望本文对您有所帮助。

    ----------------分割线----end原为http://www.cnblogs.com/jeffyhs/archive/2009/07/28/1532866.html--------------

  • 相关阅读:
    Android 联系人中使用的常量
    Android 获取联系人Uri
    Android 编辑联系人
    Android 删除联系人
    Android 联系人添加
    Android 联系人查询
    CollectionViewMasonryLayout
    centos7搭建redis
    centos7搭建zookeeper
    排序算法
  • 原文地址:https://www.cnblogs.com/wuya/p/1626797.html
Copyright © 2020-2023  润新知