我想在我的JavaScript代码中添加一个条件,如果我在文本框中写出正确的答案,它将转到下一页。
例如:问题是:"日本的资本是什么?"如果我写东京,它将转到一个新的页面,但如果写错了答案它只会显示警报盒子留言。
<html>
<head>
<script type="text/javascript">
function nameValidate() {
valid = true;
if (document.getElementById('name').value == "") {
alert("Please enter the right answer");
valid = false;
}
return valid;
}
</script>
<title>Crack the code</title>
</head>
<body text="#666633" bgcolor="#cccc99">
<div align="center">
<p class="text">
<h3>What is the Capital of Japan</h3>
</p>
<table>
<tr>
<td class="label"></td>
<form name="Answer" action="http://news.google.com/" onsubmit="return nameValidate();">
<input type="text" id="name" />
</td>
<br />
<br />
<input type="Submit" value="submit" />
</form>
</tr>
<tr>
<td height="8"></td>
</tr>
</table>
</div>
</body>
</html>
答案 0 :(得分:0)
您的if条件只会检查您的输入文本是否为空。如果你想确保答案是东京,你可以使用:
<script type="text/javascript">
function nameValidate(){
var myInput = document.getElementById('name').value.toLowerCase();
var valid = true;
if(myInput != "tokyo"){
alert("Please enter the right answer");
valid = false;
}
return valid;
}
</script>
我使用toLowerCase
功能确保接受任何可能的答案。
答案 1 :(得分:0)
您的代码几乎是正确的,除非用户输入的内容与您预期的不同。你没有注意到任何东西,因为你的表单提交到谷歌这也是谷歌以某种方式阻止!所以这会让你错了!请更改您的表单提交,如
action="http://naimrajib.blogspot.com/"
同样更改您的代码:
function nameValidate()
{
var answer = {japan: 'tokyo', bangladesh: 'dhaka'}
var valid = true;
var input_value = document.getElementById('name').value.toLowerCase();
if (input_value == null || input_value == "") {
alert("Please enter the right answer");
valid = false;
}
else if(input_value == answer.japan){
valid = true;
}
else
valid = false;
alert(valid);
return valid;
}
要观看演示,请访问此链接:http://jsfiddle.net/naimrajib/5Lzt7opg/