gpt4 book ai didi

javascript - Qualtrics API 在放入自定义 JavaScript 时不起作用

转载 作者:行者123 更新时间:2023-11-27 23:27:00 27 4
gpt4 key购买 nike

我正在做一个实验,将汉诺塔游戏嵌入到调查中。该游戏是用 Javascript 编写的,并放入问题的 javascript 环境中。

我想禁用提交,直到参与者解决问题。我将 this.disableNextButton() 放入 javascript 中并且它可以工作。但是这个。在脚本中添加后面的逻辑函数的enableNextButton()不起作用。

    Qualtrics.SurveyEngine.addOnload(function()
{
/*Place Your Javascript Below This Line*/

this.disableNextButton();

Game.prototype.handleDrop = function(event, ui) {
var tower = this.getTower(jQuery(event.target));
var disk = this.getDisk(ui.draggable);


if (tower.getNum() != disk.getTower().getNum()) {

if (tower.canPlaceDisk(disk)) {
disk.setDraggableRevert(false);
tower.moveDisk(disk);
disk.position();
this.moves++;
jQuery("#moves").text(this.moves);
this.updateDraggableDisks();
this.checkSolved();

}
}
}

Game.prototype.checkSolved = function() {
if ((this.towers[1].getDisks().length==0) && (this.towers[2].getDisks().length==1) && (this.towers[2].getDisks()[0].getNum()==1)) {

this.enableNextButton();
alert("Problem Solved.");
Qualtrics.SurveyEngine.setEmbeddedData("P1.1",this.moves); /*this sentence must be inside the function, otherwise it will be evluated before the function.*/

return (this.moves);
jQuery("#startOver").click();
}

}

});

这与“this”对象有关吗?因为在逻辑函数中,“this”代表的是我定义的对象而不是Qualtrics调查引擎。如果是,我该怎么做才能启用 enbaleNextButton 功能?

非常感谢您的帮助!

丹妮

最佳答案

我不确定这是你的问题(实际上我不认为是),但你可以替换:

this.enableNextButton();

与:

$('NextButton').show();

同样,您可以替换:

this.disableNextButton();

与:

$('NextButton').hide();

如果您查看 Qualtrics 函数的代码,您会发现它们只是执行上面的命令。

编辑:安东尼指出这是为了隐藏/显示而不是禁用/启用。禁用和启用将是:

$('NextButton').disabled = true;
$('NextButton').disabled = false;

关于javascript - Qualtrics API 在放入自定义 JavaScript 时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34887636/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com