• web跨页弹窗选值


         最近在项目中看到这样一种效果——点击当前网页文本框,然后弹出一个缩小的网页,并在网页里选择或填写数据,然后又返回当前网页,小网页关闭。感觉非常不错,其实在以前网上也看见过,只是当时没有留心。今天抽时间把它从项目中提炼出来,给自己做一个笔记,以备下次只需。不废话了。


    第一步新建两个页面分别取名为A.html,B.html.


    第二步编写页面代码如下

    A.html页面

    <html>
    <head>
      <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
    <title>demoA页面</title>
      <script type="text/javascript">
      function PopBreakfast(obj) {
                var returnValue = window.showModalDialog("B.html", obj, "dialogWidth=300px;dialogHeight=150px");
               alert(returnValue);
               if (returnValue) {
                    obj.value = returnValue;
               }
       
            }
    </script>
    </head>
    <body>
    <form id="form1" action="">
    <table>
     <tr>
     <td>城市</td>
     <td><input type="text" id="txtcity" onclick="PopBreakfast(this)"/></td>
     <td>地址</td>
     <td><input type="text" id="txtaddress" onclick="PopBreakfast(this)"/></td>
     </tr>
    </table>
    </form>
    </body>
    </html>

    B.html页面

    <html>
    <head>
        <title>demoB页面</title>
        <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
        <style type="text/css">
            body
            {
                font-size: 12px;
                font-family: arial;
            }
            select, input
            {
                padding: 0px;
                margin: 0px;
            }
            #content-wrapper
            {
                margin: 20px 0px 20px 20px;
            }
            #content-wrapper td
            {
                text-align: left;
                padding: 2px;
            }
            #content-wrapper td.title
            {
                font-weight: bold;
            }
            input.city
            {
                width: 180px;
            }
            select.city
            {
                width: 180px;
            }
            .confirm-btn
            {
                padding: 2px;
            }
        </style>
        <script type="text/javascript">
            function Confirm() {
                var selectValue = document.getElementById("selectcity").value;
                var inputValue = document.getElementById("txtaddress").value;
                if (inputValue.length > 0) {
                    window.returnValue = inputValue;
                } else {
                    window.returnValue = selectValue;
                }
                alert(window.returnValue);
                window.close();
            }
    
            window.onclose = function () {
                window.returnValue = "";
            }
        </script>
    </head>
    <body>
        <form id="form2" >
        <center>
            <div id="content-wrapper">
                <table cellpadding="0" cellspacing="0" width="250px">
                    <tr>
                        <td class="title">
                            选择城市
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <select id="selectcity" class="city">
                                <option value="">-- Select --</option>
                                <option value="北京">北京</option>
                                <option value="广州">广州</option>
                                <option value="上海">上海</option>
                                <option value="香港">香港</option>
                            </select>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <input id="txtaddress" type="text" class="city" />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <input type="button" value="Confirm" onclick="Confirm()" class="confirm-btn" />
                        </td>
                    </tr>
                </table>
            </div>
        </center>
        </form>
    </body>
    </html>


    第三步测试,结果如下图:

    开始页面A

    点击后弹出窗体效果图:

    选中填写之后的效果:

    经测试必须 在iis里或vs里运行才可以看到效果,否则有跨域错误。

    错误提示:Uncaught SecurityError: Blocked a frame with origin "null" from accessing a frame with origin "null". Protocols, domains, and ports must match.

    好了,这也算是一个新的开始吧。

    还有另外一种方法

    再有另外一种方法

  • 相关阅读:
    倍增算法2(树上倍增)
    倍增算法1
    可持久线段树
    【BZOJ】1059: [ZJOI2007]矩阵游戏(二分图匹配)
    【BZOJ】2743: [HEOI2012]采花(树状数组)
    【BZOJ】2959: 长跑(lct+缩点)(暂时弃坑)
    【学习笔记】LCT link cut tree
    【学习笔记】FFT
    【BZOJ】1001: [BeiJing2006]狼抓兔子(最小割 / 对偶图)
    【BZOJ】1007: [HNOI2008]水平可见直线(凸包)
  • 原文地址:https://www.cnblogs.com/xiaohuasan/p/5174989.html
Copyright © 2020-2023  润新知