【问题标题】:Alternative to select/focus functions to automatically place cursor in textbox for Qualtrics替代选择/聚焦功能以自动将光标放置在 Qualtrics 的文本框中
【发布时间】:2016-09-30 14:59:07
【问题描述】:

我正在 Qualtrics 中创建一项调查,该调查需要在文本框中放置一个自动光标,以便参与者无需单击文本框即可开始输入。我能够使用以下代码来完成这项工作:

Qualtrics.SurveyEngine.addOnload(function()
{
    $("QuestionID").select();

});

很遗憾,这只适用于旧的 Qualtrics 调查生成器 (SE)。此解决方案在新的调查生成器 (JFE) 中不起作用。

我试图寻找替代方案,但在 SE 中工作的替代方案似乎在 JFE 中也没有。例如,

document.getElementById("QuestionID").select();

var input = document.getElementById('QuestionID');

input.select();

我已经看到提到的焦点功能,但这在任何一个调查构建器中都不起作用。

似乎新的调查构建器的选择功能存在问题,但在花了数小时试图找到替代方法后,我无法找到。我尝试从 Qualtrics 获取更改日志,但他们无法提供。

我试过了

$("QuestionID").focus();

这在旧的调查生成器中确实有效。在新版本中仍然无法使用。

如果我只是从 Qualtrics 中的上一个问题继续,光标无法使用 focus()。但是,如果我刷新页面,焦点确实有效。这是在新的调查生成器中。这仍然不是一个解决方案,但希望能提供一些见解。

有人知道任何可行的替代方案吗?

【问题讨论】:

  • 那么您已经尝试过使用$("QuestionID").focus(); 了吗?或者您所说的“提到的焦点功能”是什么意思?您是否尝试使用浏览器控制台中的focus() 设置焦点?
  • 没错。我试过使用 $("QuestionID").focus();分别,以及焦点和选择功能一起。在任何一个调查生成器版本中都没有工作。您能否扩展从浏览器控制台设置焦点?

标签: javascript jquery qualtrics


【解决方案1】:

问题在于元素 id,而不是函数。试试这个,不管是什么类型的问题,它都会专注于第一个文本输入字段:

Qualtrics.SurveyEngine.addOnload(function() {
    $(this.questionId).down('.InputText').focus();
});

【讨论】:

  • 就是这样吗?还是我用实际的问题 ID 替换 questionId? ID 有一个“~”,这会引发错误。我尝试按原样使用代码,它的行为与其他解决方案相同。它在预览版(旧的调查生成器)中有效,但在新的调查生成器中不起作用,除非我刷新页面。此外,focus() 和 select() 都提供相同的行为。
  • 就是这样...... this.questionId 是一个包含当前问题 ID 的变量。如果您处于 jfe 预览模式,右侧是移动视图,可能看起来焦点只是一个视图或另一个,但如果您键入,您会看到两个视图都更新。
  • 还有一件事...在外观和感觉下将页面转换设置为无。在调查中使用 JavaScript 时应始终这样做。
  • 很遗憾,在使用实际调查链接时仍然无法正常工作。它的行为与您在预览中所说的完全一样,它不会显示光标,但我可以开始输入。然而,在主要调查中,当我开始打字时,什么都没有发生。
猜你喜欢
  • 1970-01-01
  • 2015-01-03
  • 2023-03-29
  • 1970-01-01
  • 1970-01-01
  • 2013-08-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多