Как сделать эксперимент с 1 блоком JavaScript в 2 блоках, который представляет данные в конце 2 блока, а затем сохранить данные на локальном сервере с помощью MAMP - PullRequest
0 голосов
/ 15 ноября 2018

Моя цель в этом эксперименте состоит в том, чтобы иметь 2 блока испытаний, оба из которых высвечивают 10 слов, и затем участники должны нажимать «да» или «нет», если увидели слово или нет (ответьте «да» или «нет» на 20 слов). После двух блоков я хотел бы, чтобы данные отображались и эксперимент заканчивался, хотя сейчас эксперимент бесконечен и отображает данные после каждого блока. Мне также нужно знать, как сохранить данные с помощью кнопки «Сохранить данные» после представления данных обоих блоков в конце. Любая помощь оценена!

Если у кого-нибудь есть идеи о том, как создать два блока, как я пытался инициировать, объявив блоки = 0 в начале, это было бы очень полезно!

<!DOCTYPE HTML>
<html>
<head>

<link rel="stylesheet" type="text/css" href="mystyle.css">
<script src="342.js" type="text/javascript"></script>
<script type="text/javascript">

    let index = 0, blocks=0;
    let words = ["fox", "tree", "wheel", "pillow", "target", "wool", "bread", "sport", "dog", "straw", "state",
              "mountain", "cot" , "green" , "napkin" , "grape" , "glass" , "drum" , "grass",];
    let stimuli = [];
    let N = words.length/2;
    let t;
    window.onload = initialize;

    function initialize() {
        for (let i = 0; i < words.length; i++) {
            stimuli.push(new Stimulus(words[i]));
        }
        shuffle(stimuli);
        for (let i = 0; i < words.length; i++) {
            if (i < N) {
                stimuli[i].presented = "1";
                stimuli[i].presOrder = i;
            }
            else {
                stimuli[i].presented = "0";
                stimuli[i].presOrder = "-1"
            }

        }

    }

    function Stimulus(word) {
        this.word = word;

    }

    Stimulus.prototype.toString = function () {

        return "\t Order Presented: " + this.presOrder + "\t Order tested: " + this.testOrder + "\t Word Presented:" + this.word + "\t  Response (0 or 1):"
            + this.resp + " \t Presented (0 or 1):" + this.presented;
    };


    function begin() {
        document.getElementById("b").style.visibility = "hidden";
        document.getElementById("word").innerHTML = "";
        t = setInterval(nextWord, 250)


    }

    function nextWordTest() {

        document.getElementById("word").innerHTML = stimuli[index].word;
        stimuli[index].testOrder = index;

        if (blocks=1)
        {
            document.getElementById("b2").style.visibility = "visible";

        }

    }
function nextWord()
    {
        if (index < N)
        {
            document.getElementById("word").innerHTML =   stimuli[index].word;
            stimuli[index].presOrder = index;
            index++;
        }

        else
            {

            clearInterval(t);
            document.getElementById("word").innerHTML = "Click yes if you saw the word and " +
                "no if you did not see the word";
            document.getElementById("yes").style.visibility = "visible";
            document.getElementById("no").style.visibility = "visible";
            document.getElementById("b2").style.visibility = "hidden";
            index = 0;
            N = words.length;
            stimuli = shuffle(stimuli);

            nextWordTest();

        }


    }

    function record(resp) {
        stimuli[index].resp = resp;
        index++;
        if (index < N) {
            nextWordTest();
        }

        else {
            if (blocks===0){
                nextWordTest()
            }
            if (blocks===1)
            {
                document.getElementById("word").innerHTML = "finished";
                data = "";
                for (let i = 0; i < stimuli.length; i++)
                {
                    data += stimuli[i] + "\n";
                }
                console.log(data);
                document.getElementById("word").innerText = data;
            }

        }

    }

</script>
</head>
<body>

<h1> Attentional Blink Experiment </h1>


<p id="word">Push button to begin.</p>
<button type="button" id="yes" onclick="record(1)" style="visibility:    hidden">yes</button>
<button type="button" id="no" onclick="record(0)" style="visibility:   hidden">no</button>

<button type="button" id="b" onclick="begin()">Begin</button>
<button type="button" id="b2" onclick="begin()" style="visibility:  hidden">Continue</button>


</body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...