LigerUI自带弹窗返回值例子

ui V1.1.0 已修正文中提出的iframe的bug

并且有自带弹窗返回值例子,实现方法比本文更精简

本文作法属1.0.2作法,仅作参考和学习用

在线测试例子: http://vazumihost.vip1.kingidc.net/example/test3.aspx

效果图如下,2种带回方式

代码:

父窗体是test3.aspx ,子窗体是test4.aspx

ligerui 1.0.2版本中有一处源码要改一下,是在ligerDialog.js的第152行,加一句话,添加iframeid,为了兼容

[javascript] view plaincopyprint?
  1. //设置主体内容
  2. if (p.target) {
  3. $(".l-dialog-content", g.dialog.body).prepend(p.target);
  4. }
  5. else if (p.url) {
  6. if(p.timeParmName)
  7. {
  8. p.url += p.url.indexOf('?')==-1 ? "?" : "&" ;
  9. p.url += p.timeParmName +"="+new Date().getTime();
  10. }
  11. var iframe = $("<iframe frameborder='0'></iframe>");
  12. var framename = p.name ? p.name : "ligerwindow" + new Date().getTime();
  13. iframe.attr("name", framename);
  14. iframe.attr("id", framename); //add by vazumi 2011.06.27
  15. $(".l-dialog-content", g.dialog.body).prepend(iframe);
  16. $(".l-dialog-content",g.dialog.body).addClass("l-dialog-content-nopadding");
  17. setTimeout(function(){
  18. iframe.attr("src",p.url);
  19. g.dialog.frame = window.frames[iframe.attr("name")];
  20. },0);
  21. }

test3.aspx

  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="test3.aspx.cs" Inherits="test.test3"%>
  2. <html>
  3. <head runat="server">
  4. <title></title>
  5. <link href="/lib/ligerUI/skins/aqua/css/ligerui-all.css" rel="stylesheet" type="text/css" />
  6. <script src="/lib/jquery/jquery-1.3.2.min.js" type="text/javascript"></script>
  7. <script src="/lib/ligerUI/js/plugins/ligerDialog.js" type="text/javascript"></script>
  8. <script src="/lib/ligerUI/js/plugins/ligerDrag.js" type="text/javascript"></script>
  9. <style type="text/css">input{ float:left;}</style>
  10. <script type="text/javascript">
  11. $(function (){});
  12. function openwin()
  13. {
  14. $.ligerDialog.open({
  15. height: 400,
  16. url: 'test4.aspx',
  17. 600,
  18. name:'wintest4',
  19. title:'对话框(确认或者双击带回)',
  20. isResize:true,
  21. buttons: [ { text: '确认', onclick: function (item, dialog) {
  22. //dialog.frame.f_ok();
  23. document.getElementByIdx_x('wintest4').contentWindow.f_ok(); //此写法兼容IE,FF
  24. }
  25. },
  26. { text: '关闭', onclick: function (item, dialog) {dialog.close();}}
  27. ]
  28. });
  29. }
  30. </script>
  31. </head>
  32. <body style="padding:20px; font-size:10px">
  33. <form id="form1" runat="server">
  34. <input id="txtid" style=" 60px" type="text" />
  35. <input id="txtname" style="100px" type="text" />
  36. <input id="btnsch" type="button" value="..." onclick="openwin();" />
  37. </form>
  38. </body>
  39. </html>

test4.aspx

    1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="test4.aspx.cs" Inherits="test.test4"%>
    2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    3. <html xmlns="http://www.w3.org/1999/xhtml">
    4. <head >
    5. <title></title>
    6. <link href="../lib/ligerUI/skins/Aqua/css/ligerui-all.css" rel="stylesheet" type="text/css" />
    7. <script src="../lib/jquery/jquery-1.3.2.min.js" type="text/javascript"></script>
    8. <script src="/lib/ligerUI/js/ligerui.min.js" type="text/javascript"></script>
    9. <style type="text/css">
    10. .l-selected .l-grid-row-cell, .l-grid-row-over {background: gray;}
    11. </style>
    12. <script type="text/javascript">
    13. $(function () {
    14. var grid=null;
    15. //查询
    16. $("#cmbUnitid").ligerComboBox({100});
    17. $("#txtuserid").ligerTextBox({80});
    18. $("#searchbtn").ligerButton({ click: function ()
    19. {
    20. grid = $("#maingrid").ligerGetGridManager();
    21. if (!grid) return;
    22. grid.showData({Rows:[],Total:0});
    23. grid.setOptions({newPage:1});
    24. grid.loadData(true);
    25. }
    26. });
    27. $("#maingrid").ligerGrid({
    28. checkbox: false,
    29. columns:
    30. [
    31. { display: '帐号', name:'USERID', align:'left', 80, isAllowHide:false },
    32. { display: '姓名', name:'USERNAME', Width:100 },
    33. { display: '单位编号', name:'UNITID', 100, align:'left' },
    34. { display: '在职', 50, render:function (row){return (row.ENABLED ==true)?'<imgsrc="/images/ok.gif">':'';}},
    35. { display: '入职日期', name:'INDATE',type:'date' }
    36. ],
    37. url: "/service/DataHandler.ashx?View=userlist",
    38. dataAction: 'server',
    39. pageSize:10,
    40. pageSizeOptions: [10, 15, 20, 30, 50, 100],
    41. '100%',
    42. height:'100%',
    43. onDblClickRow:function (e, o, data) //表格双击带回
    44. {
    45. $(window.parent.document).find("input[id='txtid']").val(data.USERID);
    46. $(window.parent.document).find("input[id='txtname']").val(data.USERNAME);
    47. parent.$.ligerDialog.close();
    48. },
    49. });
    50. grid = $("#maingrid").ligerGetGridManager();
    51. $("#pageloading").hide();
    52. });
    53. function f_ok() //选择一笔,按确认按钮带回
    54. {
    55. var g = $("#maingrid").ligerGetGridManager();
    56. var r=g.getSelectedRow();
    57. if (r==undefined)
    58. {
    59. $.ligerDialog.alert('请选择一笔!');
    60. return;
    61. }
    62. $(window.parent.document).find("input[id='txtid']").val(r.USERID);
    63. $(window.parent.document).find("input[id='txtname']").val(r.USERNAME);
    64. parent.$.ligerDialog.close();
    65. }
    66. </script>
    67. </head>
    68. <body style="padding:0px; overflow:hidden;">
    69. <div class="l-loading" style="display:block" id="pageloading"></div>
    70. <form id="form1" runat="server">
    71. <input type="text" style="display:none"/>
    72. <asp:Button ID="Button2" runat="server" UseSubmitBehavior="false" Visible="false" />
    73. <div id="toptoolbar"></div>
    74. <div class="l-panel-search">
    75. <div class="l-panel-search-item">单位:</div>
    76. <div class="l-panel-search-item"><asp:DropDownList ID="cmbUnitid"runat="server"></asp:DropDownList></div>
    77. <div class="l-panel-search-item">帐号:</div>
    78. <div class="l-panel-search-item"><input id="txtuserid" type="text" /></div>
    79. <div class="l-panel-search-item"><div id="searchbtn" style="40px;">查询</div></div>
    80. </div>
    81. <div id="maingrid" style="margin:0; padding:0"></div>
    82. </form>
    83. </body>
    84. </html>
原文地址:https://www.cnblogs.com/zhaoxd/p/3094420.html