2017-05-04 53 views
0

如果用戶在字段中輸入正確答案,我試圖獲得全部答案。但它總是返回0不知道爲什麼。你能幫我解決它,請問我錯了嗎?用戶輸入不能與JavaScript中的數組進行比較

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>Match It</title> 
</head> 
<body> 
<h1>Set Verbs in correct form</h1> 
<p> 
<table> 

      <tr> 

       <th scope="col">Match 1</th> 

       <th scope ="col">Match 2</th> 

      </tr> 

      <tr> 

       <td>one</td> 

       <td>two</td> 

       <td><input type="text" id="answer1" value=""></td> 

       <td>four</td> 

      </tr> 

      <tr> 

       <td>eleven</td> 

       <td><input type="text" id="answer2" value=""></td> 

       <td>thirteen</td> 

       <td>fourteen</td> 

      </tr> 

    </table> 

       <button onclick="readit()">Check Answer!</button> 

    <p id="p2"></p> 

</p> 

Hint: twelve or three 
<script type="text/javascript"> 

//array 

var verblist =[]; 

verblist[0] = ["one", "two", "three", "four"]; 

verblist[1] = ["eleven", "twelve", "thirteen", "fourteen"]; 

var verdi = verblist[0][0]; 

function readit() { 

var verb1 = document.getElementById("answer1").value; 

var verb2 = document.getElementById("answer2").value; 

//control input 

var CorrectAnswer = "0"; 

if(verb1.toUpperCase() == verdi[0][2]) 

{ 

    CorrectAnswer++; 

} 

if(verb2.toUpperCase() == verblist[1][1]) 

{ 

    CorrectAnswer++; 

} 

document.getElementById("p2").innerHTML = ("You given total " + CorrectAnswer + " Correct Answers."); 

} 
</script> 
</body> 
</html> 

只是檢查,請幫我修復它,我嘗試了不同的方式,但對我來說,它總是顯示0回報。

回答

0

你的代碼似乎有很多問題。 例如,var verdi = verblist[0][0];verdi值將是「一個」,但你試圖指數INT0它在該行:if(verb1.toUpperCase() == verdi[0][2])

另外,該線路if(verb2.toUpperCase() == verblist[1][1])會造成問題。 因爲在輸入框中輸入的任何東西的大寫值將永遠不匹配verblist[1][1]

這些是您可以先開始修復的東西。

0

toUpperCase應該是toLowerCase和你的威爾第可變心不是一個數組

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
\t <meta charset="UTF-8"> 
 
\t <title>Match It</title> 
 
</head> 
 
<body> 
 
\t <h1>Set Verbs in correct form</h1> 
 
\t <p> 
 
\t \t <table> 
 

 
\t \t \t <tr> 
 
\t \t \t \t <th scope="col">Match 1</th> 
 
\t \t \t \t <th scope ="col">Match 2</th> 
 
\t \t \t </tr> 
 
\t \t \t <tr> 
 
\t \t \t \t <td>one</td> 
 
\t \t \t \t <td>two</td> 
 
\t \t \t \t <td><input type="text" id="answer1" value=""></td> 
 
\t \t \t \t <td>four</td> 
 
\t \t \t </tr> 
 
\t \t \t <tr> 
 
\t \t \t \t <td>eleven</td> 
 
\t \t \t \t <td><input type="text" id="answer2" value=""></td> 
 
\t \t \t \t <td>thirteen</td> 
 
\t \t \t \t <td>fourteen</td> 
 
\t \t \t </tr> 
 
\t \t </table> 
 

 
\t \t <button onclick="readit()">Check Answer!</button> 
 
\t \t <p id="p2"></p> 
 
\t </p> 
 
\t Hint: twelve or three 
 

 
<script type="text/javascript"> 
 

 
\t //array 
 
\t var verblist =[]; 
 
\t verblist[0] = ["one", "two", "three", "four"]; 
 
\t verblist[1] = ["eleven", "twelve", "thirteen", "fourteen"]; 
 

 
\t function readit() { 
 

 
\t \t var verb1 = document.getElementById("answer1").value; 
 
\t \t var verb2 = document.getElementById("answer2").value; 
 

 
\t \t //control input 
 
\t \t var CorrectAnswer = "0"; 
 

 
\t \t if(verb1.toLowerCase() == verblist[0][2]){ 
 
\t \t \t CorrectAnswer++; 
 
\t \t } 
 

 
\t \t if(verb2.toLowerCase() == verblist[1][1]){ 
 
\t \t \t CorrectAnswer++; 
 
\t \t } 
 

 
\t \t document.getElementById("p2").innerHTML = ("You given total " + CorrectAnswer + " Correct Answers."); 
 
\t } 
 
</script> 
 
</body> 
 
</html>

相關問題