表单输入显示在下一页

问题描述 投票:0回答:3

我试图获取用户在输入框中输入的任何内容并在下一页上使用它,这样我就可以使用 javascript 来输入输入的值,但我不知道如何操作。我看到很多人说使用 php 和服务器端脚本,但我不知道如何设置。我懂 php 语言。

<html>
<head>
</head>
<body>
<form method="GET" action="level5.html">
Troops: <input type="text" name="troops" value="0">
<input type="submit" value="send">
</body>
</html>

然后在下一页我试图获取“你选择了 500 名部队”,然后将 500 设为 JavaScript 变量。

javascript php html
3个回答
2
投票

这是一个读取 url 参数的脚本(source):

HTTP_GET_VARS = [];

strGET = document.location.search.substr(1, document.location.search.length);

if (strGET !== '') {
  gArr = strGET.split('&');
  for (i = 0; i < gArr.length; ++i) {
    v = '';
    vArr = gArr[i].split('=');
    if (vArr.length > 1) {
      v = vArr[1];
    }
    HTTP_GET_VARS[unescape(vArr[0])] = unescape(v);
  }
}

function GET(v) {
  if (!HTTP_GET_VARS[v]) {
    return 'undefined';
  }
  return HTTP_GET_VARS[v];
}

HTML

我将两端放在同一个文件中。这将使用设置的参数重新加载页面。显然,如果您停留在同一页面上,您可以做到这一点,而无需重新加载。

<!DOCTYPE html>
<html>

  <head>
    <link rel="stylesheet" href="style.css">
    <script src="script.js"></script>
  </head>

  <body>
    <form method="GET" action="index.html">
      Troops: <input type="text" name="troops" value="0">
      <input type="submit" value="send">
    </form>

    <script type="text/javascript">
      document.writeln ('Troops: ' + GET('troops'));
    </script>
  </body>

</html>

这里有一个 plnkr 可以尝试一下。

编辑:我更改了 plnkr,使其具有与您的问题完全相同的结构,并带有两个单独的文件。


由于您想在其他几个页面上使用该值,因此上述简单方法可能过于有限。因为您必须将所有数据再次发送到下一页。 虽然这绝对可行,但其他建议的方法之一可能更优雅。

DOM 存储

如果您使用相当现代的浏览器(IE8+、FF3.5+、C4+),您可以利用 DOM 存储

window.sessionStorage.setItem(field, value)
保存值
window.sessionStorage.getItem(field)
读取值
window.sessionStorage.removeItem(field)
删除值
window.sessionStorage.clear()
删除所有内容

或以同样的方式

localStorage.setItem(field, value)

localStorage.getItem(field)

localStorage.removeItem(field)

localStorage.clear()

sessionStorage
localStorage
之间的区别是sessionStorage仅限于当前浏览器选项卡。 localStorage 更加持久,可以从浏览器中的任何选项卡进行访问,具体取决于浏览器和设置,甚至在全新的会话中也是如此。

所有内容都将保存为字符串!如果您保存一个数字,例如整数,您将需要在检索后再次解析它( parseInt() )。

这是一个使用 sessionStorage 的 plnkr 示例。

饼干

Cookie 涉及的内容稍微多一些,在 stackoverflow 上我发现了一个非常好的链接 overview

这是一个 plnkr,使用前面提到的 quirksmode 网站提供的非常直接的脚本。

createCookie(field, value, x)
将值保存到有效期为 x 天的 cookie
readCookie(field)
从cookie中读取值

注意这个plnkr中的script.js与第一个plnkr中的不同!


0
投票

您可以使用cookie。

 <input type="text" id="name">
<input type="submit" name="Submit" id="button2" value="Submit" onClick="javascript:verify()"/>

在 javascript 函数 verify() 中,您可以如下设置 cookie

 function verify()
 {
   var yourname = document.getElementById('name').value;  
   document.cookie = "name="+yourname;
 }

稍后您可以在代码中的任何位置访问它。

参考http://www.tutorialspoint.com/javascript/javascript_cookies.htm


© www.soinside.com 2019 - 2024. All rights reserved.