如何通过JS创建单选按钮。

时间:2016-09-27 22:03:32

标签: javascript json web

我有一些问题动态创建单选按钮。在我的问题中,我在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;
 }

1 个答案:

答案 0 :(得分:0)

我只是在猜测,因为你发布的代码中有些内容甚至无法运行,但是createRadioElement会返回一个你从未真正注入文档的分离节点。

,例如,

document.body.appendChild(createRadioElement());