如何将带有单选选项值的javascript数组发送到另一个php文件?

时间:2019-04-12 14:55:03

标签: javascript php json ajax

我建立了一个在线考试门户,其中的问题来自使用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);
    });

}

0 个答案:

没有答案