• 向模态窗体传递参数和获取返回值


    1.向window.showModalDialog 传递参数:
      window.showModalDialog 方法的第二个参数就代表父窗体传递到模态窗体的参数值,可以为任何对象或数组),也可以不传递参数,直接为null就行。此参数是可选的。原型如下:
          vReturnValue = window.showModalDialog(sURL [, vArguments] [, sFeatures])
    例子:
       var params = [document.getElementById("tbCorpName"),document.getElementById("tbCorpId")]; //参数
       var returnValue = window.showModalDialog("selectclient.aspx",params ,"dialogLeft:1px;dialogTop:1px;dialogWidth:500px;dialogHeight:430px;resizable:yes;status:no");
    这样我们就可以在模态窗体中用 window.dialogArguments 属性获取传递进来的参数。
     function setCorpName(corpname,corpid)
        {
             var params = window.dialogArguments ;   //获取父窗体传递进来的参数;
             params[0].value = corpname;   //设置父窗体中文本域字段的值。
             params[1].value = corpid;
             self.close();  //关闭模态窗体。
        }
    这种方式在Firefox 下有个问题。如果模态窗体是动态页面(aspx页面),如果在模态窗体中涉及到与服务器端交互的话,如“查询”事件,则当点击“查询”按钮后,firefox 中就再也不能通过 window.dialogArguments 属性获取到传递进来的参数。也就是说在Firefox 中只是第一次弹出窗体时,能够获取到父窗体传递的参数,其他任何与服务器交互后,都将导致参数信息丢弃。IE中不存在这个问题。所以如果你想在模态窗体中访问父窗体中的对象,最好不要采用这种方式。看下面第二种方式:

    2.从模态窗体获取返回值:
       window.showModalDialog 方法的返回值就是模态窗体的的返回值。通过在模态窗体中用 window.returnValue 属性设置。
    //父窗体代码:
       var returnValue = window.showModalDialog("selectclient.aspx",null,"dialogLeft:1px;dialogTop:1px;dialogWidth:500px;dialogHeight:430px;resizable:yes;status:no");
     if(returnValue)
     {
           var arrValue = returnValue.split(":");  //以冒号分隔值
           document.getElementById("tbCorpName").value = arrValue[0];
           document.getElementById("tbCorpId").value = arrValue[1];
     }
    //模态窗体代码:
    function setCorpName(corpname,corpid)
        {
             window.returnValue = corpname + ":" + corpid;    //设置从模态窗体返回的值
             self.close();
        }
    另外注意在模态窗体的<head> 区加上:
    <base target="_self"></base>
    这样可以防止在模态窗体中点击按钮提交时打开新窗体的问题。

  • 相关阅读:
    ueditor PHP版本使用方法
    PHP三维优先级运算
    navicate for mysql中的sql存放位置和备份
    wamp配置步骤
    phpeclipse xdebug 配置配置 -摘自网络
    xls 和 xml 数据 排序 绑定 -原创
    XSLT教程 比较全的 -摘自网络
    XPath在asp.net中查询XML -摘自网络
    windows上zend server安装 报The server encountered an internal error or misconfiguration and was unable to complete your request -解决方法 摘自网络
    开源项目 配置管理软件推荐
  • 原文地址:https://www.cnblogs.com/weekend001/p/1552911.html
Copyright © 2020-2023  润新知