我过去几天一直在创建网页,此网页中的概念是用户在textarea
中输入自定义文字。
然后将使用javascript处理textarea
的值。
if(x=="hello")
,然后javascript必须将用户重定向到另一个网页,但是在同一个标签页和同一个窗口中。
不幸的是,这不起作用。我的意思是javascript将网页重定向到另一个网址,但它不在同一个标签中。
请允许任何人帮助我修复我的错误吗?
注意:请不要用jQuery给我答案,因为我不知道如何使用它
HTML CODE
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript" src="scripting1.js"></script>
<style type"text/css">
.inputtext
{
border:5px double #4f2d05;
width:1378px;
height:690px;
background-color:#000000;
font-family:monospace;
font-size:28px;
color:#00ff00;
resize:none;
}
textarea:focus{outline: 0}
</style>
</head>
<body background="camouflage.jpg">
<table name="table" align="center">
<tr>
<td>
<img src="header.png" />
</td>
</tr>
<tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr>
</tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr>
<tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr>
</tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr>
<tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr>
<tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr>
<form name="form1">
<tr>
<td>
<div align="center">
<textarea
class="inputtext"
id="myTextarea"
name="text1"
align="center"
placeholder="Enter command here....">
</textarea>
</div>
</td>
</tr>
<tr>
<td>
<input
type="submit"
name="submit"
OnSubmit="myFunction();"
>
</td>
</tr>
</form>
</table>
</body>
</html>
JAVASCRIPT CODE(外部.js文件和html链接到它)
function myFunction(){
var x = document.getElementById("myTextarea").value;
if (x == "hello"){
window.open('http://google.com/'
}, '_self);
}
else{alert('ok i knew it'); }
}
答案 0 :(得分:3)
而不是
window.open('http://google.com/','_self);
尝试
location.href = "http://google.com/";
答案 1 :(得分:1)
您的重定向代码错误,请尝试以下操作:
Edit
以下是分解为单独文件的代码。为了让它运行,只需将所有文件放入站点目录的根目录即可。如果您移动它们或更改其名称,请务必在.html
文件中更改它们的位置。
请注意,仅仅因为您将JavaScript移动到单独的.js
文件,并不意味着“hello
”对用户是隐藏的。这只意味着他们必须导航到单独的js
页面才能找到它。为了真正隐藏它,您必须将用户输入发送到服务器,验证它并发送验证响应。
<强> redirector.js 强>
function myFunction() {
var x = document.getElementById("myTextarea").value;
if (x === "hello") {
document.location.href = "http://www.google.com";
return false;
}
else {
alert('ok i knew it');
return false;
}
}
<强> index.css 强>
#container{
text-align: center;
}
.inputtext{
border: 5px double #4f2d05;
width: 1378px;
height: 690px;
background-color: #000000;
font-family: monospace;
font-size: 28px;
color: #00ff00;
resize: none;
}
textarea:focus{
outline: 0
}
<强> indexl.html 强>
<!DOCTYPE HTML>
<html>
<head>
<title>Terminal</title>
<link rel="stylesheet" href="index.css">
<script src="redirector.js"></script>
</head>
<body>
<div id="container">
<form name="form1" onsubmit="return myFunction();">
<div>
<textarea
class="inputtext"
id="myTextarea"
name="text1"
placeholder="Enter command here...."></textarea>
</div>
<input
type="submit"
name="submit">
</form>
</div>
</body>
</html>
答案 2 :(得分:0)
请尝试使用window.location.href
。 window.open
打开另一个窗口
window.location.href ='http://google.com/'