2017-11-29 3 views
0

私はこのコードを自分の目的に合っていますが、両方の質問に正しく答える場合にのみリダイレクトしたいと思います。答え両方の質問右location.assign(「https://www.google.com」);すべてのクイズに返信した後にjavasciptのリダイレクト

<!-- Hide from old browsers 
 
var A // the first number 
 
var B // the second number 
 
A = 1000 
 
B = 1000 
 
document.writeln(" <p> Q1 - What does " + A + " + " + B + " equal?</p>") 
 
// Function 
 
// checkAnswer 
 
// Description 
 
// Checks the user's answers 
 
function checkAnswer() 
 
{ 
 
    var answer = document.fillin.answer.value 
 
    if (answer != A+B) { 
 
    alert(
 
     "Sorry, " + answer + " does not equal " + 
 
     A + " + " + B + ".") 
 
    docment.fillin.answer.value = "" 
 
    } 
 
    else { 
 
    location.assign("https://www.google.com"); } 
 
} // checkAnswer 
 
// --> 
 
<!-- Hide from old browsers 
 
var A // the first number 
 
var B // the second number 
 
A = 2000 
 
B = 1000 
 
document.writeln(" <p>Q2 - What does " + A + " + " + B + " equal?</p>") 
 
// Function 
 
// checkAnswer 
 
// Description 
 
// Checks the user's answer2s 
 
function checkAnswer() 
 
{ 
 
    var answer2 = document.fillin.answer2.value 
 
    if (answer2 != A+B) { 
 
    alert(
 
     "Sorry, " + answer2 + " does not equal " + 
 
     A + " + " + B + ".") 
 
    docment.fillin.answer2.value = "" 
 
    } 
 
    else { 
 
    location.assign("https://www.google.com"); } 
 
} // checkAnswer 
 
// --> 
 
<form name="fillin"> 
 
answer 1 <input type="text" name="answer" value=""> <br> 
 
answer 2<input type="text" name="answer2" value=""> <br> 
 
<input type="button" name="check" value="Check" onclick="checkAnswer()"> 
 
</form>

+0

あなたは両方のケースで同じ変数を使用する - と同じ関数 'checkAnswerを(宣言)は'二回... – alfasin

答えて

0

あなたは両方の質問のためにAとBを使用していますが、それぞれに異なる変数を使用して、それらを個別に確認する必要があり

var A = 1000 
 
var B = 1000 
 
var C = 2000 
 
var D = 1000 
 
document.writeln(" <p> Q1 - What does " + A + " + " + B + " equal?</p>")   
 
document.writeln(" <p>Q2 - What does " + C + " + " + D + " equal?</p>") 
 

 
function checkAnswer() { 
 
    var answer2 = document.fillin.answer2.value 
 
    var answer = document.fillin.answer.value 
 
    if (answer != A + B) { 
 
    alert("Sorry, " + answer + " does not equal " + A + " + " + B + ".") 
 
    document.fillin.answer.value = "" 
 
    } else if (answer2 != C + D) {  
 
    alert("Sorry, " + answer2 + " does not equal " + C + " + " + D + ".") 
 
    document.fillin.answer2.value = "" 
 
    } 
 
    else { 
 
    location.assign("https://www.google.com"); 
 
    } 
 
}
<form name="fillin"> 
 
answer 1 <input type="text" name="answer" value=""> <br> 
 
answer 2<input type="text" name="answer2" value=""> <br> 
 
<input type="button" name="check" value="Check" onclick="checkAnswer()"> 
 
</form>

+0

あなたのコードは、アラートが両方の入力のために働く良いですが、それはしませんでした両方の正しい答えでも、リンクにリダイレクト –

+0

スニペットとしては機能していないようですが、ローカルで試しましたか?location.assign( "https://www.google.com");ローカルでは動作しますが、全体を再作成してテストしませんでした – Scath

+0

あなたのコードは私に助けてくれてありがとうございました:)以前は{var answer = document.fillin.answer2.value の前に{ –

関連する問題