2017-11-05 13 views
0

参加者がすぐに入力を開始できるように、テキストボックスにQualtricsを自動的にフォーカスさせようとしています。Qualtricsページの読み込み時にJavascriptのフォーカス/選択/配置カーソルがテキストボックスに表示される

他の回答(たとえばQualtrics: Automatic blinking cursor (focus) does not work on JFE, only on SE surveybuilder)とは異なることを試しましたが、IE(Firefoxを含め、Firefoxはコードを含まず、問題に自動的に焦点を当てます)ではフォーカスが機能しません。

コードも(下)「入力」を押して次のページに進めるためのコードを無効にするようなので調査はこの問題を解決する方法を

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(); 
    } 
}); 
}); 

にページ上の任意のアイデアを立ち往生?ありがとうございました!

答えて

1

タイミング問題のために、コードに問題がある場合は、addOnloadを使用したhideNextButtonがあります。代わりにaddOnReadyを使用してください。また、FirstButtonの存在を最初にチェックするのが最善です。 isが存在しない場合、エラーが発生し、スクリプトが停止します。いくつかのブラウザでは、フォーカスを当てる前にフィールドを選択する必要があります。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(); 
}); 
+0

感謝を!これは機能します。しかし、以前のすべてのJavascriptをクリアして、これを既存のアンケートに挿入してみると、うまくいきませんでした。私はそれが働くための新しい調査を作成しなければなりませんでした。なぜQualtricsがそれを行うのか分かりません。 – user137451

関連する問題