2017-06-12 32 views
0

我正在設計一項包含200項左右的Qualtrics調查。 每個項目每頁顯示一個問題。 我想要問題在點擊回覆時自動推進。如何將Qualtrics中的javascript應用於一組項目?

我可以看到你可以同時使用的代碼here這樣做有一個問題:

Qualtrics.SurveyEngine.addOnload(function() 
{ 
    var that = this; 
    this.questionclick = function(event,element){ 
     if (element.type == 'radio') { 
      that.clickNextButton(); 
     } 
    } 
}); 

和方法the help files here描述。基本上,這個想法是,你點擊一個問題的JavaScript按鈕並粘貼代碼。

然而,這個過程會很繁瑣的重複200次,如果我想調整javascript,我會再次重複這個過程200次。

是否有應用Java腳本一組在Qualtrics問題的一種方式?

回答

0

一種選擇是導出調查,編輯導出文件並將調查重新導入到Qualtrics中。這種方法在Qualtrics支持中沒有很好的記錄,但它確實有效。 This help file解釋瞭如何將Qualtrics調查導出和導入爲QSF文件(即Qualtrics調查格式文件)。

因此,主要的挑戰是解決如何以添加相關的Java腳本200次編輯QSF。

QSF文件採用JSON格式。在此之前,我曾聽說過,但從未使用過JSON格式。也許這是Qualtrics用戶的典型特徵。

默認情況下,QSF文件是串行形式(即,它是在一行中)。我發現this online editor有助於格式化和解析QSF文件的層次結構。 json qsf files qualtrics

通常,QSF文件的結構以SurveyEntry開頭,該文件具有一般調查規範。然後它有一堆SurveyElements。我的例子中的前六個元素與調查的一般特徵有關。特別是,第一個元素代表塊,並列出了塊中問題的順序。在前六個問題之後。每個問題都包含一系列ID類型變量,然後是PayloadPayload包括控制問題特徵的核心屬性 - 值對。

具體地,對於一個問題的JavaScript保持在QuestionJS變量。我不認爲Payload中屬性的順序很重要,但我不確定。

所以這個任務只是在每個問題的Payload屬性中添加一些像這樣的代碼。

"QuestionJS":"Qualtrics.SurveyEngine.addOnload(function()\n{\n var that = this;\n this.questionclick = function(event,element){\n  if (element.type == 'radio') {\n   that.clickNextButton();\n  }\n }\n\n\n});", 

據推測,有更好的利用數據結構的編輯JSON腳本的更好的方法,但它應該可以做一個簡單的查找和替換。例如,如果你所有的問題的類型都是選擇題,你可以不喜歡

查找:

"QuestionType":"MC", 

更換

"QuestionType":"MC","QuestionJS":"Qualtrics.SurveyEngine.addOnload(function()\n{\n var that = this;\n this.questionclick = function(event,element){\n  if (element.type == 'radio') {\n   that.clickNextButton();\n  }\n }\n\n\n});", 

這個想法可以擴展到你想要的其他場合將特定屬性添加到一組問題中。

1

更簡單的方法是將JavaScript放入頁眉或頁腳(查看&感覺/高級),然後它將應用於調查中的每個頁面。

<script type="text/javascript"> 
Qualtrics.SurveyEngine.addOnload(function() { 
    // script logic goes here 
}); 
</script> 
+0

謝謝。你的方法會很好。但是,我嘗試了這種方法,但它不起作用。也就是說,我試着將我的問題(即'var that = this'等)中顯示的代碼粘貼到標題中。你認爲它需要適應頭部的工作嗎?也就是說,作爲跨問題的一般腳本工作? –

+0

使用一些其他腳本我可以得到標題工作,但只爲第一個問題,根據這個問題:https://stackoverflow.com/questions/31754742/why-does-my-qualtrics-js-in-header-only-似乎是工作的首頁 –

+0

你需要調整你的腳本,因爲'這'不再是問題(即this.questionId)。你必須讓腳本找到問題。在您遇到的其他問題上,在外觀和感覺下,將頁面切換設置爲「無」。另外,最佳做法是將JavaScript放在頁腳中。 –

相關問題