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.

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

时间: 2024-08-25 16:51:34

web跨页弹窗选值的相关文章

A在SP.NET跨页多选

在ASP.NET跨页多选 本文介绍怎样在ASP.NET中实现多页面选择的问题.其详细思路非常easy:用隐藏的INPUT记住每次选择的项目,在进行数据绑定时.检查保存的值,再在DataGrid中进行选中显示. 以下时完整的代码和样例: 查看样例 SelectMultiPages.aspx <%@ Page EnableViewState="true" CodeBehind="SelectMultiPages.aspx.cs" Language="c#

Vue中使用Element-UI实现表格跨页多选

跨页多选翻页保存问题折磨了我一天,终于找到了合适的解决方法分享一下. 需求: 项目中使用Element-UI: 表格中数据通过网络请求得到: 给后台接口发送页码(pagenum)和每一页条数(pagesize)实现数据分页: 实现单页内全选 翻页保存之前选中的数据 解决方式: 使用官方文档中提供的row-key属性和reserve-selection属性搭配使用 在表格中设置row-key属性,并将该属性设置为当前渲染数据的json中的唯一标识(比如id之类,我的例子里字段名叫bridgecod

layui table 跨页记忆选择

layui 表格功能目前默认不支持跨页记忆选择 下面来实现layui table跨页记忆选择实现 基于layui版本 1.4.5 表格跨页通用方法 //表格分页复选框 layui.define(['jquery', 'table'], function (exports) { var $ = layui.jquery , table = layui.table; //记录选中表格记录编号http://www.1994july.club/seo/?p=2797 var checkedList =

Candence下对“跨页连接器(off-page connector)”进行批量重命名的方法

parts.ports.alias等等均可以在"属性编辑器(Property Editor)"中进行查看编辑,并通过复制到Excel等表格软件来进行批量修改.之后再粘贴回去的方法进行批量编辑.但是"跨页连接器(off-page connector)"无法在Property Editor中进行查看和编辑. 选择多个off-page connector之后,通过"Ctrl+E"或者"右键-->Edit Properties"

html5手机Web单页应用实践--起点移动阅读

一开始以hybrid形式做了一个android的小说阅读客户端,叫4G阅读.而后由于业务需求,要迅速实现纯手机html5 版的,所以就直接在原先客户端内内嵌的网页进行改版,快速实现以后在优化的过程中发现越改越多越改越多- 注意此web应用只支持android及iphone内的浏览器,及PC或mac上的chrome,safari,firefox等支持html5的浏览器.IE10以上浏览器 这算是试验版了吧,以前没这么弄过.. 手机访问http://crapi.4gshu.com:8096/4g-r

Android平台调用Web Service:线程返回值

接上文 前文中的遗留问题 对于Java多线程的理解,我以前仅仅局限于实现Runnable接口或者继承Thread类,然后重写run()方法,最后start()调用就算完事,但是一旦涉及死锁以及对共享资源的访问和随时监控线程的状态和执行顺序和线程返回值等就不行了. Callable 和 Future 简介 Callable接口代表一段可以调用并返回结果的代码;Future接口表示是执行异步任务时的状态.返回值等信息.所以说Callable用于产生结果,Future用于获取结果. 1. Callab

网页打印A4纸-----表格在跨页时自动换页打印的实现 (转)

在最近所做的一个项目中,需要通过网页来打印不少的表单,但是又不想每个打印页签各占用一个页面,这样就需要生存很多不同的冗余页面,为了减少冗余,所有的表单通过jquery的页签tab来实现的. 一 :基本打印的实现: 1:tab页签在切换时的change事件中,记住每个页签的index, 2:在点击打印按钮时,根据所记住的index,由页签的id("tab名+index"组成),获取当前tab页签下所有的html; 3: 将获取到的需要打印页签的html赋值给document.body.i

关于云主机Thinkphp框架Session跨页失效的问题

在网站部署到云主机之后,前台一直能够正常显示,后台确登录不上去,验证码也无法显示,研究半天,才确定是Session跨页传递失效的问题.找网上各种解决方法,都是关于Php.ini文件的设置,可又解决不了问题,于是狠下心来研究,最后确定是Session路径的问题.由于Thinkphp的Session默认不是保存在网站目录下,导致Session无效的问题,最后更改Session的保存路径,成功解决了问题. 具体解决办法: 1.在index.php中定义session保存路径: define('ROOT

Java web 常见对象的取值方法整理

一.从request中取值: 1.取param: servlet:  request.getParameter() request.getParameterValues() jsp脚本:request.getParameter() request.getParameterValues() jstl/el:  ${param.name} ${paramaValues.names[0]} struts ognl:<s:property value="#parameters.ParamName[