我建立了一个在线考试门户,其中的问题来自使用php和mysqli的数据库。我通过onclick事件使用ajax在页面上加载这些问题。在onclick函数中,我创建了一个数组,该数组存储用户检查的单选选项并加载下一个问题。在带有onclick事件的最后一个问题按钮中,该事件已保存,接下来被隐藏,然后出现一个提交按钮,该按钮应采用该问题的单选选项,将其放入数组中并转到check.php文件。我无法在数组中插入单选选项并将其发送到php文件的提交部分。我使用了json.stringify但它不起作用。我应该尝试其他方法吗?请帮忙。
这是HTML代码:-
<button type="button" class="btn btn-info btn-md" id="mark" onclick="loadNextQues(1)">Mark for Review & Next</button>
<button type="button" class="btn btn-info btn-md">Clear Response</button>
<button type="submit" class="btn btn-info btn-md" id="save" style="position:absolute;right:20px;bottom:35px" onclick="loadNextQues(0)">Save and Next</button>
<form action="check.php">
<button type='submit' class="btn btn-info btn-md" id="water" style="visibility:hidden;position:absolute;right:20px;bottom:35px" onclick="Checkanswers()">submit</button>
这是原始代码:-
var arr = new Array();
function loadNextQues(flag){
quesno++;
var Selected = document.querySelectorAll('[name="op"]:checked');
if (Selected != null) {
Selected.forEach(function(radio) {
arr.push(radio.value);
});
}
console.log(arr);
if(flag==1){
//add css to the button for review
}
else{
//add css for the button as answered
}
url="http://localhost/assignments/load-questions.php?qno="+quesno;
$.get(url,function(data,status){
response=JSON.parse(data);
console.log(response);
var quest="<p>"+response.qno+" "+response.question+"</p>";
quest+="<form>";
quest+="<input type=\"radio\" name=\"op\" value='"+response.opA +"'>A."+response.opA+"<br>";
quest+="<input type=\"radio\" name=\"op\" value='"+response.opB +"'>B."+response.opB+"<br>";
quest+="<input type=\"radio\" name=\"op\" value='"+response.opC +"'>C."+response.opC+"<br>";
quest+="<input type=\"radio\" name=\"op\" value='"+response.opD +"'>D."+response.opD+"<br>";
quest+="</form>";
document.getElementById("questBox").innerHTML=quest;
});
if(quesno == 15){
document.getElementById("mark").style.visibility = 'hidden';
document.getElementById("save").style.visibility = 'hidden';
document.getElementById("water").style.visibility = 'visible';
}
}
function Checkanswers(){
var Selected = document.querySelectorAll('[name="op"]:checked');
if (Selected != null) {
Selected.forEach(function(radio) {
arr.push(radio.value);
});
}
$.post('check.php', {
data: arr
}, function(response) {
console.log(response);
});
}