将Qualtrics API放入自定义javascript时不工作

将Qualtrics API放入自定义javascript时不工作,javascript,qualtrics,Javascript,Qualtrics,我正在做一个实验,在调查中嵌入了一个河内塔游戏。这个游戏是用Javascript编程的,并被放入一个问题的Javascript环境中 我想禁用提交,直到参与者解决问题。我将这个.disableExtButton()放在javascript中,它就可以工作了。但是这个。在脚本中放入后面的逻辑函数的enableNextButton()无效 Qualtrics.SurveyEngine.addOnload(function() { /*Place Your Javasc

我正在做一个实验,在调查中嵌入了一个河内塔游戏。这个游戏是用Javascript编程的,并被放入一个问题的Javascript环境中

我想禁用提交,直到参与者解决问题。我将这个.disableExtButton()放在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功能

非常感谢你的帮助


Dani

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

this.enableNextButton();
this.disableNextButton();
与:

同样,您可以替换:

this.enableNextButton();
this.disableNextButton();
与:

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

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

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

您应该能够添加var=this;在禁用“下一步”按钮之前,请按如下方式访问它。disableNextButton()和.enableNextButton()的启用和禁用方式是否有点不同?我以为这些是为这个.showNextButton()和这个.hideNextButton()执行的函数,我想是隐藏而不是启用。我已经补充了上面的答案。