为了账号安全,请及时绑定邮箱和手机立即绑定

如何让子网页从父网页接收变量值?

如何让子网页从父网页接收变量值?

四季花海 2021-06-21 17:22:45
对于我的学校项目,我正在创建一个具有票务预订服务的模拟电影网站。目前我正在尝试创建座位选择部分。我已经成功地做到了这一点,并且代码如何检测是否已选择座位是一个布尔值。(例如,如果他们选择座位 A1,名为“A1”的变量将被设置为 true),现在剩下的唯一部分是将用户选择的选择详细信息传输到他们填写“付款”详细信息的弹出网页。如何将变量值准确地传输到子网页?需要php文件吗?我是 php 的菜鸟,所以请提供一些指导。我一直在网上搜索这种技术一段时间(包括堆栈溢出),但我找不到任何适合我的情况的正确代码<html><body>The on/off button:<button onclick="press_button"><img id="button" src="on.png" style="width:100px"></button><BR>The button that opens a new webpage:<button onclick="confirm()"> Confirm</button><script language="JavaScript">var i=0, status;function press_button(){i++;if(i%2 == 1){document.getElementById('button').src='off.png';status=true}elsedocument.getElementById('button').src='on.png';status=false}//function that changes the look of the button when it is on/off and records down whether it is on/offfunction confirm(){window.open("confirm.html")//opens a new webpage</script></body></html>为简单起见,我制作了一个简单的网页,它有一个开/关按钮,我想要一个确认按钮来打开一个新页面并根据开/关按钮的状态显示一条文本消息。谁能教我怎么做?
查看完整描述

1 回答

?
富国沪深

TA贡献1790条经验 获得超9个赞

您可以单独使用 JS 来完成此操作,但还有许多其他方法。


<body>

  <input type='text' value='defaultParamValue'>

  <button type='button'>send param</button>

  <script type='text/javascript'>

    document.querySelector('button').onclick

    = () => window.location.href

    = 'destination.html?nameOfParam='

    + encodeURIComponent(document.querySelector('[type=text]').value)

  </script>

</body>

你可以用PHP来做到这一点,更现实和实用。


<body>

  <form action='destination.php' method='get'>

    <input name='param' type='text' value='defaultParamValue>

    <input type='submit'>

  </form>

</body>

这就是您使用 PHP 在 处检索值的方式destination.php。


$_POST['param'];

以下是如何使用您自己的示例进行操作。


<body>

  The on/off button:

  <!-- you need to include type='button', otherwise it acts as type='submit' -->

  <button type='button' onclick='press_button()'>

    <img id='button' src='on.png' style='width:100px'>

  </button>

  <BR>

  The button that opens a new webpage:

  <!-- you need to include type='button', otherwise it acts as type='submit' -->

  <button type='button' onclick='confirm()'> Confirm</button>


  <script type='text/javascript'> // the language attribute is deprecated

    var

      i=0,

      button=document.querySelector('button'),

      status

    function press_button(){

      i++

      if(i%2 == 1){

        button.src='off.png'

        status=true

      }

      else{ // you were missing a curly bracket

        button.src='on.png'

        status=false

      }

    } // you were missing a closing curly bracket

    function confirm(){

      if(status){

        // window in window.open is a global variable

        // which means it is always accessible

        // and you do not need to include it

        open(`confirm.html?status=${encodeURIComponent(status)}`)

      }

    } // you were missing a closing curly bracket

  </script>

</body>

构建代码可以更容易地发现代码中的问题(即缺少大括号)。


下面的 JS 将允许您在新页面上获取 URL 查询字符串参数。


const

  urlParams = new URLSearchParams(location.search),

  myParam = urlParams.get('status')

console.log(urlParams) // status=true/false

console.log(myParam) // true/false


查看完整回答
反对 回复 2021-06-24
  • 1 回答
  • 0 关注
  • 124 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信