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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (12)

对于我的学校项目,我正在创建一个有票务预订服务的模型影院网站。目前我正在尝试创建座位选择部分。

我已经成功完成了这项工作,代码如果检测到座位是否被选中是一个布尔值。(例如,如果他们选择了座位A1,名为“A1”的变量将被设置为真),现在剩下的唯一部分是将用户选择的选择详细信息转移到弹出网页,在那里填写“付款”详细信息。如何将变量值精确传输到子网页?需要一个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
}
else
document.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/off
function confirm(){
window.open("confirm.html")
//opens a new webpage
</script>


</body>
</html>

为简单起见,我创建了一个带有开/关按钮的简单网页,我想要一个确认按钮,打开一个新页面并根据开/关按钮的状态显示文本消息。任何人都可以教我如何做到这一点?

提问于
用户回答回答于

您可以单独使用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>

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

扫码关注云+社区

领取腾讯云代金券