我正在使用 django 制作一個測驗應用程式,這是我第一次使用 django 作業 其他一切都運行良好,而不是每當我按下按鈕提交答案時,頁面就會重新加載。
這是我的html代碼:
<section>
<div id = "results"></div>
<form name = "quizForm" onsubmit = "return submitAnswers(answers = [{% for q in questions%}'{{ q.answer }}',{% endfor %}])">
{% for q in questions %}
<h3> {{ q.id }}. {{ q.question }}</h3>
..........
{% endfor %}
<input type = "submit" value = "Submit Answer">
</form>
<br><br>
</section>
這是與按鈕相關的js代碼:
function submitAnswers(answers) {
var total = answers.length;
var score = 0;
var choice = []
//dynamic method to get selected option
for (var i = 1; i <= total; i ) {
choice[i] = document.forms["quizForm"]["q" i].value;
}
//dynamic method 1 for checking answer
for (i = 1; i <= total; i ) {
if (choice[i] == answers[i - 1]) {
score ;
}
}
//Display Result
var results = document.getElementById('results');
results.innerHTML = "<h3>You scored <span>" score "</span> out of <span>" total "</span></h3>"
alert("You scored " score " out of " total);
return false;
}
根據這個腳本,每當我按下提交按鈕時,我必須看到一個警報,但頁面只是重新加載而不顯示任何警報訊息。如果我缺少一些東西,我是使用 django 應用程式的新手,請指導。謝謝你!
uj5u.com熱心網友回復:
{{ q.id }} 是什么。{{ 問題 }}?我相信這是一個語法錯誤
uj5u.com熱心網友回復:
我認為您需要洗掉表單上的操作,因為表單需要將其提交回服務器。并將事件添加到輸入。還缺少一個div。我不知道預處理是做什么的,所以我只是復制它。就像是
<section>
<div id = "results"></div>
<form name = "quizForm">
{% for q in questions %}
<h3> {{ q.id }}. {{ q.question }}</h3>
..........
{% endfor %}
<input type = "button" value = "Submit Answer"
oninput = "return submitAnswers(answers = [{% for q in questions%}'{{ q.answer }}',{% endfor %}])">
</form>
<br><br>
</div>
</section>
...
uj5u.com熱心網友回復:
如果你正在設定
<input type='sumit'>
它將提交表單并重新加載頁面,您應該將其設定為
<input type='button'>
并處理ajax呼叫。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/506649.html
標籤:javascript html django 网络应用 提交时
