我的程序:使用选择选项和文本字段创建测试。每次添加问题以选择分数时,都会输入文本字段。
我在函数外部有一个数组,我想用scores
填充。
在我的for loop
中,我尝试通过在文档上显示array
本身来测试其是否被填充,
我的问题:当我将数据发送到php文件并回显内容时,scoreArray
突然空了。我不知道为什么,因为它正确显示在HTML
上,但是从php文件接收回来的信息不见了..就像我在for循环后不小心清空了数组,这对我没有意义
var testArray = [];
var scoreArray = [];
function examAdd() {
var ajaxRequest = new XMLHttpRequest();
ajaxRequest.onreadystatechange = function() {
if (ajaxRequest.readyState == 4) {
var ajaxDisplay = document.getElementById('ajaxDiv');
var res = ajaxRequest.innerHTML = this.responseText;
var data = JSON.parse(res);
alert(this.responseText);
for (i = 1; i < 21; i++) {
var theID = document.getElementById("q" + i).value;
scoreArray.push(theID);
document.getElementById("exam").innerHTML = "Question Array: " + testArray + " || Scores Array: " + scoreArray;
}
}
}
var topics = document.getElementById("qTopic").value;
var keywords = document.getElementById("qKeyword").value;
var testname = document.getElementById("eName").value;
var myObj = {
id: "addt",
test: testArray,
scores: scoreArray,
topic: topics,
keyword: keywords,
tname: testname
};
var myJSON = JSON.stringify(myObj);
var myJSON2 = JSON.stringify(scoreArray);
ajaxRequest.open("POST", "examtest.php", true);
//ajaxRequest.open("POST","https://web.njit.edu/~rtw3/CS490/betamiddle.php", true);
ajaxRequest.send(myJSON);
}
<div id="testLayout">
<h4>Test</h4>
<center>
<ol id="test">
</ol>
</center>
</div>
<input type="text" name="eName" id="eName" placeholder="Enter Test Name"><br><br>
<div class="button">
<input type="button" value="Create" onclick="examAdd();">
<input type="button" value="Cancel" onclick="cancel();">
</div>