2017-06-02 62 views
0

我做了一個測驗,我使用了一個在線並將其格式化了一下的代碼。 所以,當你點擊提交應該有一個答案,如你需要做更多的 學習什麼和一個分數。測驗不能正常工作,點擊提交按鈕後,什麼也沒有發生

<div id="main"> 
 

 
<!-- open main div --> 
 
<div class="quizstyle"> 
 
<h1>Quiz</h1> 
 
<form id="form1" action=" "> 
 
<h3>Question 1</h3> 
 
<div class="row"><input name="variable" type="radio" value="0" />Answer 1</div> 
 
<div class="row"><input name="variable" type="radio" value="0" />Answer 2</div> 
 
<div class="row"><input name="variable" type="radio" value="33" />Answer 3</div> 
 
&nbsp; 
 
<h3>Question 2</h3> 
 
<div class="row"><input name="sub" type="radio" />Answer 1</div> 
 
<div class="row"><input name="sub" type="radio" />Answer 2</div> 
 
<div class="row"><input name="sub" type="radio" />Answer 3</div> 
 
&nbsp; 
 
<h3>Question 3</h3> 
 
<div class="row"><input name="con" type="radio" value="0" />Answer 1</div> 
 
<div class="row"><input name="con" type="radio" value="33" />Answer 2</div> 
 
<div class="row"><input name="con" type="radio" value="0" />Answer 3</div> 
 
</form></div> 
 
<input type="submit" value="Submit" /> 
 

 
Your grade is: <span id="grade">__</span> 
 
<p id="grade2"></p> 
 

 
</div> 
 
<!-- close main div --> 
 

 
<script> 
 
document.getElementById("form1").onsubmit=function() { 
 
     variable = parseInt(document.querySelector('input[name = "variable"]:checked').value); 
 
\t sub = parseInt(document.querySelector('input[name = "sub"]:checked').value); 
 
\t con = parseInt(document.querySelector('input[name = "con"]:checked').value); 
 
\t  
 
\t result = variable + sub + con; 
 
\t  
 
\t document.getElementById("grade").innerHTML = result; 
 
\t  
 
if (result == 0) {result2 = "I don't think you studied."}; 
 
if (result == 33) {result2 = "You need to spend more time. Try again."}; 
 
if (result == 66) {result2 = "I think you could do better. Try again."}; 
 
if (result == 99) {result2 = "Excellent!"}; 
 
document.getElementById("grade2").innerHTML = result2; 
 

 
return false; // required to not refresh the page; just leave this here 
 
} //this ends the submit function 
 

 
</script>

有誰知道這個問題可能是什麼?

+1

我們需要看到你的代碼。 – webbm

回答

0

你基本上忘了在表單中包含提交按鈕,也忘記給第二個問題的無線電輸入值。此外RESULT2可變

這裏的初始化工作代碼

<div id="main"> 
 

 
<!-- open main div --> 
 
<div class="quizstyle"> 
 
<h1>Quiz</h1> 
 
<form id="form1" action=" "> 
 
<h3>Question 1</h3> 
 
<div class="row"><input name="variable" type="radio" value="0" />Answer 1</div> 
 
<div class="row"><input name="variable" type="radio" value="0" />Answer 2</div> 
 
<div class="row"><input name="variable" type="radio" value="33" />Answer 3</div> 
 
&nbsp; 
 
<h3>Question 2</h3> 
 
<div class="row"><input name="sub" type="radio" value="0" />Answer 1</div> 
 
<div class="row"><input name="sub" type="radio" value="34" />Answer 2</div> 
 
<div class="row"><input name="sub" type="radio" value="0" />Answer 3</div> 
 
&nbsp; 
 
<h3>Question 3</h3> 
 
<div class="row"><input name="con" type="radio" value="0" />Answer 1</div> 
 
<div class="row"><input name="con" type="radio" value="33" />Answer 2</div> 
 
<div class="row"><input name="con" type="radio" value="0" />Answer 3</div> 
 
<input type="submit" value="Submit" /> 
 
</form> 
 
</div> 
 

 

 
Your grade is: <span id="grade">__</span> 
 
<p id="grade2"></p> 
 

 
</div> 
 
<!-- close main div --> 
 

 
<script> 
 
document.getElementById("form1").onsubmit=function() { 
 
     variable = parseInt(document.querySelector('input[name = "variable"]:checked').value); 
 
\t sub = parseInt(document.querySelector('input[name = "sub"]:checked').value); 
 
\t con = parseInt(document.querySelector('input[name = "con"]:checked').value); 
 
\t  
 
\t result = variable + sub + con; 
 
\t  
 
\t document.getElementById("grade").innerHTML = result; 
 
\t var result2 = "" 
 
\t  
 

 
if (result == 0) {result2 = "I don't think you studied."}; 
 
if (result == 33) {result2 = "You need to spend more time. Try again."}; 
 
if (result == 66) {result2 = "I think you could do better. Try again."}; 
 
if (result == 99) {result2 = "Excellent!"}; 
 
document.getElementById("grade2").innerHTML = result2; 
 

 
return false; // required to not refresh the page; just leave this here 
 
} //this ends the submit function 
 

 
</script>

+0

@JamesDouglas同意但提及它遵循最佳做法。 – TechnoTech

0

你需要把你的表單內提交<input type="submit>,你沒有初始化var result2,和你沒有你的第二個問題,一個value集,因此在讀NaN

<div id="main"> 
 

 
    <!-- open main div --> 
 
    <div class="quizstyle"> 
 
    <h1>Quiz</h1> 
 
    <form id="form1" action=" "> 
 
     <h3>Question 1</h3> 
 
     <div class="row"> 
 
     <input name="variable" type="radio" value="0" />Answer 1</div> 
 
     <div class="row"> 
 
     <input name="variable" type="radio" value="0" />Answer 2</div> 
 
     <div class="row"> 
 
     <input name="variable" type="radio" value="33" />Answer 3</div> 
 
     &nbsp; 
 
     <h3>Question 2</h3> 
 
     <div class="row"> 
 
     <input name="sub" type="radio" value="33" />Answer 1</div> 
 
     <div class="row"> 
 
     <input name="sub" type="radio" value="0" />Answer 2</div> 
 
     <div class="row"> 
 
     <input name="sub" type="radio" value="0" />Answer 3</div> 
 
     &nbsp; 
 
     <h3>Question 3</h3> 
 
     <div class="row"> 
 
     <input name="con" type="radio" value="0" />Answer 1</div> 
 
     <div class="row"> 
 
     <input name="con" type="radio" value="33" />Answer 2</div> 
 
     <div class="row"> 
 
     <input name="con" type="radio" value="0" />Answer 3</div> 
 
     <input type="submit" value="Submit" /> 
 
    </form> 
 
    </div> 
 

 

 
    Your grade is: <span id="grade">__</span> 
 
    <p id="grade2"></p> 
 

 
</div> 
 
<!-- close main div --> 
 

 
<script> 
 
    document.getElementById("form1").onsubmit = function() { 
 
     variable = parseInt(document.querySelector('input[name = "variable"]:checked').value); 
 
     sub = parseInt(document.querySelector('input[name = "sub"]:checked').value); 
 
     con = parseInt(document.querySelector('input[name = "con"]:checked').value); 
 

 
     result = variable + sub + con; 
 

 
     document.getElementById("grade").innerHTML = result; 
 
     var result2 = ""; 
 
     if (result == 0) { 
 
     result2 = "I don't think you studied." 
 
     }; 
 
     if (result == 33) { 
 
     result2 = "You need to spend more time. Try again." 
 
     }; 
 
     if (result == 66) { 
 
     result2 = "I think you could do better. Try again." 
 
     }; 
 
     if (result == 99) { 
 
     result2 = "Excellent!" 
 
     }; 
 
     document.getElementById("grade2").innerHTML = result2; 
 

 
     return false; // required to not refresh the page; just leave this here 
 
    } //this ends the submit function 
 
</script>

0

沒有被提交的形式,因爲提交按鈕必須形式。你也有一些錯誤 - 比如缺少分號 - 你忘記爲第二批答案添加值。

請參閱片段。

<div id="main"> 
 

 
<!-- open main div --> 
 
<div class="quizstyle"> 
 
<h1>Quiz</h1> 
 
<form id="form1" action=" "> 
 
<h3>Question 1</h3> 
 
<div class="row"><input name="variable" type="radio" value="0" />Answer 1</div> 
 
<div class="row"><input name="variable" type="radio" value="0" />Answer 2</div> 
 
<div class="row"><input name="variable" type="radio" value="33" />Answer 3</div> 
 
&nbsp; 
 
<h3>Question 2</h3> 
 
<div class="row"><input name="sub" type="radio" value="33" />Answer 1</div> 
 
<div class="row"><input name="sub" type="radio" value="0" />Answer 2</div> 
 
<div class="row"><input name="sub" type="radio" value="0" />Answer 3</div> 
 
&nbsp; 
 
<h3>Question 3</h3> 
 
<div class="row"><input name="con" type="radio" value="0" />Answer 1</div> 
 
<div class="row"><input name="con" type="radio" value="33" />Answer 2</div> 
 
<div class="row"><input name="con" type="radio" value="0" />Answer 3</div> 
 
<input type="submit" value="Submit" /> 
 
</form></div> 
 

 
Your grade is: <span id="grade">__</span> 
 
<p id="grade2"></p> 
 

 
</div> 
 
<!-- close main div --> 
 

 
<script> 
 
document.getElementById("form1").onsubmit = function() { 
 
    variable = parseInt(document.querySelector('input[name = "variable"]:checked').value); 
 
    sub = parseInt(document.querySelector('input[name = "sub"]:checked').value); 
 
    con = parseInt(document.querySelector('input[name = "con"]:checked').value); 
 
    result = variable + sub + con; 
 
    document.getElementById("grade").innerHTML = result; 
 
    if (result === 0) { 
 
    result2 = "I don't think you studied."; 
 
    } 
 
    if (result === 33) { 
 
    result2 = "You need to spend more time. Try again."; 
 
    } 
 
    if (result === 66) { 
 
    result2 = "I think you could do better. Try again."; 
 
    } 
 
    if (result === 99) { 
 
    result2 = "Excellent!"; 
 
    } 
 
    document.getElementById("grade2").innerHTML = result2; 
 
    return false; // required to not refresh the page; just leave this here 
 
}; 
 
</script>

+0

它的工作,我看到我錯了,謝謝詹姆斯! – Lego

相關問題