2015-11-08 73 views
-2

所以我有一个HTML页面,猜猜我的文字游戏。但是当我输入我的第一条if语句变量FinalGuessindexOf它中断,在那里我使用SecretWord该页的作品,但功能doesnt。有任何想法吗?javascript有索引问题

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Guessing Game</title> 
<script type="text/javascript" > 
/* <![CDATA[ */ 
var SecretWord = "compaq"; 
var GuessInput = document.forms[0].Guess.text; 
var FinalGuess = GuessInput.toLowerCase(); 

var firstLetter = false; 
var b = false; 
var c = false; 
var d = false; 
var e = false; 
var f = false; 

function checkLetter() { 

if (SecretWord.indexOf('c') >= 0) { 
firstLetter == true;  
} 
/* 
if (userInput.indexOf('o') >= 0) { 
b == true; 
} 
if (userInput.indexOf('m') >= 0) { 
c == true; 
} 
if (userInput.indexOf('p') >= 0) { 
d == true; 
} 
if (userInput.indexOf('a') >= 0) { 
e == true; 
} 
if (userInput.indexOf('q') >= 0) { 
d == true; 
} 
*/ 
if (firstLetter == false) { 
var letter1 = "*"; 
} else { 
var letter1 = "c"; 
} 
if (b == false) { 
var letter2 = "*"; 
} else { 
var letter2 = "o"; 
} 

if (c == false) { 
var letter3 = "*"; 
} else { 
var letter3 = "m"; 
} 

if (d == false) { 
var letter4 = "*"; 
} else { 
var letter4 = "p"; 
} 

if (e == false) { 
var letter5 = "*"; 
} else { 
var letter5 = "a"; 
} 

if (f == false) { 
var letter6 = "*"; 
} else { 
var letter6 = "q"; 
} 

var string = letter1 + letter2 + letter3 + letter4 + letter5 + letter6; 

document.forms[0].word.value = string; 
document.forms[0].Guess.value = ""; 
document.forms[0].Guess.focus; 
alert(GuessInput); 
} 
/* ]]> */ 
</script> 
</head> 

<body onload="checkLetter();"> 

<form action="" > 
Guess the word 
<input type="text" name="word" id="word" /><br /> 
Enter text here 
<input type="text" name="Guess" maxlength="1" /> 
<input type="button" name="Submit" value="Submit" onclick="checkLetter();" /> 

</form> 
</body> 
</html> 
+0

好吧,所以我将我的变量移到我的函数里面,它现在可以工作,但我似乎可以得到第一个indexOf为真 – John

+0

你必须检查答案的下面,如果答案帮助你投票,如果答案真的是你要找的标记是正确的答案 –

回答

5

必须更换:

firstLetter == true; 

通过:

firstLetter = true; 

我们使用==作比较,但是当你只想以价值使用=分配。