我正在尝试进行基于网络的小型调查。 这确实是极简主义的,所以我不想使用一些对我来说太多用的调查模板。
基本上是针对3个人的调查。每个参与者都从一个起始页面开始,在那里他们输入一些ID(将为每个人提供)。如果输入的ID正确,则它们将显示在第二个html页上。 现在,这对我来说很棘手,因为我不是网络开发人员。 我希望第二页首先显示一些介绍性文字,然后单击确定按钮后,它应该显示一个(文本/文件中的三个问题,每个参与者一个)一个带有是或否按钮的问题。当按下按钮时,出现下一个问题。 在每个问题之后,我想发送一条日志消息来存储他们回答问题所需的时间。
我已经从第一页获得了参与者ID,每个参与者的问题都在单独的文本文件中。我还编写了一个函数来保存一些日志记录结果。我用html-post / php-script保存日志:
function sendLog(studyId, msg) {
var xmlhttp;
if (window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}
else{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
alert('done')
}
}
xmlhttp.open("POST","logger.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("studyId=" + studyId + "&msg=" + msg);
}
<?php
$studyId = $_POST["studyId"];
$myFile = "data/log_" + $studyId + ".txt";
$stringData = $_POST["results"];
$fh = fopen($myFile, 'a') or die("can't open file");
fwrite($fh, $stringData);
fclose($fh);
?>
我的问题是如何使用文本文件以正确的顺序显示三个问题。我真的不知道如何动态创建html对象。.请注意,每个参与者都有自己的带有问题的文本文件。我已经尝试将一些文本添加到html中,但是我不知道如何优雅地解决该问题。
也许有人对我有一些提示。
<body>
<h1>QUESTION: </h1>
<p id="questions"></p>
<h1>HINT: </h1>
<p id="hints"></p>
<p><button type="yes_btn" action=sendLog("yes")>yes</button></p>
<p><button type="no_btn" action=sendLog("no")>no</button></p>
<script>
var stop = Date()
var mylist = document.getElementById('questions');
mylist.insertAdjacentHTML('beforeend', '<li>'+stop+'</li>');
</script>
</body>
这就是方法