我有一些问题动态创建单选按钮。在我的问题中,我在json formate中请求来自服务器的数据,而不是我检查它是否包含选项我必须创建单选按钮,否则只需创建字段的txt区域来提交答案。再次我在json formate中解析并发送到服务器,如果我的问题是写,我得到下一个问题的新网址,等等...... 我的问题是我如何创建单选按钮并从中读取数据,然后解析像{“answer”:“something”}这样的数据。我的代码如下:
enter code herefunction loadDoc(url) {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
console.log(this.responseText);
var data = JSON.parse(this.responseText);
document.getElementById("my_test").innerHTML = data.question;
// Send the answer to next URL
if(data.alternatives !== null){
createRadioElement(div,);
}
var answerJSON = JSON.stringify({"answer":"2"});
sendAnswer(data.nextURL, answerJSON)
}
};
xhttp.open("GET", url, true);
xhttp.send();
}
function sendAnswer(url, data) {
xhr = new XMLHttpRequest();
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-type", "application/json");
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
var data = JSON.parse(this.responseText);
console.log(this.responseText);
loadDoc(data.nextURL);
}
}
// var data = JSON.stringify({"email":"hey@mail.com","password":"101010"});
xhr.send(data);
}
function createRadioElement(name, checked) {
var radioHtml = '<input type = "radio" name="' + name + '"';
if ( checked ) {
radioHtml += ' checked="checked"';
}
radioHtml += '/>';
var radioFragment = document.createElement('div');
radioFragment.innerHTML = radioHtml;
return radioFragment.firstChild;
}
答案 0 :(得分:0)
我只是在猜测,因为你发布的代码中有些内容甚至无法运行,但是createRadioElement
会返回一个你从未真正注入文档的分离节点。
,例如,
document.body.appendChild(createRadioElement());