Qualtrics Javascript在页面加载时聚焦/选择/将光标放在文本框上



我试图让Qualtrics自动关注文本框(每页一个问题),以便参与者可以立即开始输入。

我尝试了与其他答案不同的东西(例如,Qualtrics:自动闪烁光标(焦点)不适用于 JFE,仅适用于 SE 调查构建器),但焦点不适用于 IE 等浏览器(Firefox,不包括代码,自动专注于问题)。

该代码似乎还使通过按"Enter"(下图)前进到下一页的代码无效,因此调查卡在页面上

Qualtrics.SurveyEngine.addOnload(function()
{
 this.hideNextButton();
 this.hidePreviousButton();
 var that = this;
 Event.observe(document, 'keydown', function keydownCallback(e) {
  var choiceID = null;
  switch (e.keyCode) {
   case 13: // 'enter' was pressed
    choiceID = 1;
    break;
  }
  if (choiceID) {
   Event.stopObserving(document, 'keydown', keydownCallback);
   that.clickNextButton();
  }
 });
});

有什么想法可以解决这个问题吗?谢谢!

由于计时问题,您的代码问题可能是隐藏带有插件加载的NextButton。请改用 addOnReady。此外,最好先检查 PreviousButton 是否存在。 如果不存在,则会导致错误并停止脚本。在某些浏览器上,您必须选择一个字段才能专注于它,activate() 就是这样做的。 最后,最好将事件处理程序添加到文本字段,而不是文档。

试试这个:

Qualtrics.SurveyEngine.addOnReady(function()
{
 $('NextButton').hide();
 if($('PreviousButton')) $('PreviousButton').hide();
 var inputText = $(this.questionId).down('.InputText');
 var evt = inputText.on('keydown', function(e) {
   if(e.which == 13) {
     evt.stop();    
     $('NextButton').click();
   }
 });
 inputText.activate();
});
<</div> div class="one_answers">

有没有办法将光标放在第一个文本框中,比如 Qualtrics 中的表单字段?我需要人们输入他们的联系信息(街道地址、城市、州等),我希望光标自动放置在顶部框中。我可以用单个问题来做到这一点,但还没有弄清楚如何使用表单字段来做到这一点。

谢谢!

最新更新