2017-06-13 31 views
-2

想法是,當有人點擊提交併且例如有問題1錯誤時,會出現錯誤答案之後的一些信息:...是一種哺乳動物物種。如何將文本放在測驗中的答案旁邊,點擊提交按鈕後

到目前爲止,我嘗試了一些東西,然後看了起來,我無法真正把它工作。

<style> 
 
    .quizbox { 
 
    width: 58%; 
 
    max-width: 950px; 
 
    border: 1px gray solid; 
 
    margin: auto; 
 
    padding: 10px; 
 
    border-radius: 10px; 
 
    margin-top: 7%; 
 
    text-align: center; 
 
    position: relative; 
 
    } 
 
    
 
    .quizstyle { 
 
    padding-right: 50%; 
 
    } 
 
    
 
    .row { 
 
    text-align: left; 
 
    margin-left: 10%; 
 
    } 
 
</style> 
 

 

 
<div class="quizbox"> 
 

 
    <!-- open main div --> 
 
    <h1>Quiz</h1> 
 
    <form id="form1" action=" "> 
 
    <div class="quizstyle"> 
 
     <h3>Moths are a member of what order?</h3> 
 
     <div class="row"> 
 
     <input name="variable" type="radio" value="0" />Octagon</div> 
 
     <div class="row"> 
 
     <input name="variable" type="radio" value="0" />Leprosy</div> 
 
     <div class="row"> 
 
     <input name="variable" type="radio" value="33" />Lepidoptera</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> 
 
    </div> 
 
    <input type="submit" value="Submit" /> 
 

 
    </form>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

請去閱讀[問]。相關代碼直接屬於您的問題,而不僅僅是外部網站。請直接在將來以這種方式提問您的問題,而不是依靠其他人重複編輯您的帖子。 – CBroe

+0

對信息使用div,首先隱藏它,然後使用js來顯示它。 – user7929528

回答

0

請在下面找到解決方案。我希望它會適合你。

document.getElementById("form1").onsubmit = function(e) { 
 
e.preventDefault(); 
 
    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
<style> 
 
    .quizbox { 
 
    width: 58%; 
 
    max-width: 950px; 
 
    border: 1px gray solid; 
 
    margin: auto; 
 
    padding: 10px; 
 
    border-radius: 10px; 
 
    margin-top: 7%; 
 
    text-align: center; 
 
    position: relative; 
 
    } 
 
    
 
    .quizstyle { 
 
    padding-right: 50%; 
 
    } 
 
    
 
    .row { 
 
    text-align: left; 
 
    margin-left: 10%; 
 
    } 
 
</style> 
 

 

 
<div class="quizbox"> 
 

 
    <!-- open main div --> 
 
    <h1>Quiz</h1> 
 
    <form id="form1" action=" "> 
 
    <div class="quizstyle"> 
 
     <h3>Moths are a member of what order?</h3> 
 
     <div class="row"> 
 
     <input name="variable" type="radio" value="0" />Octagon</div> 
 
     <div class="row"> 
 
     <input name="variable" type="radio" value="0" />Leprosy</div> 
 
     <div class="row"> 
 
     <input name="variable" type="radio" value="33" />Lepidoptera</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> 
 
    </div> 
 
    <input type="submit" value="Submit" /> 
 

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

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

+0

恩,你換了什麼?它看起來和我的代碼一樣:S – Lego

+0

'document.getElementById(「form1」)。onsubmit = function(e){e0.preventDefault();' –

+0

你必須使用'preventDefault()'函數。所以它會停止默認操作並允許您執行特定操作。 –

相關問題