我试图获取用户在输入框中输入的任何内容并在下一页上使用它,这样我就可以使用 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 变量。
这是一个读取 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中的不同!
您可以使用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