在Qualtrics中修改JavaScript日历

问题描述 投票:0回答:1

我找到了一个JavaScript代码来嵌入一个Qualtrics问题的日历。

Enter a survey date:
<link href="https://cdn.jsdelivr.net/npm/pikaday/css/pikaday.css" rel="stylesheet" type="text/css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pikaday/1.6.1/pikaday.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/locale/es.js"></script>

<script>
Qualtrics.SurveyEngine.addOnload(function()
{
var inputId = 'QR~' + this.questionId;
moment.locale('en');

var picker = new Pikaday(
        {
        field: document.getElementById(inputId),
        i18n: {
            previousMonth : 'previous month',
            nextMonth     : 'next month',
            months        : moment.localeData()._months,
            weekdays      : moment.localeData()._weekdays,
            weekdaysShort : moment.localeData()._weekdaysShort
        },
        minDate: new Date(2020, 05, 22),
        maxDate: new Date(2020, 05, 26),
        yearRange: [2000, 2020],
        bound: true,
        container: document.getElementById('container')       
    });
});
Qualtrics.SurveyEngine.addOnReady(function()
{
jQuery("#"+this.questionId+" .InputText").attr("readonly",true);

});
</script>

它在第一页上运行良好。然而,日历仍然出现在Qualtrics调查问卷第二页的左角。我應該如何修改上述程式碼,使日曆只出現在第一頁的日期問題上?

另外,我发现 "new Date(2020, 05, 22) "中的 "5 "是6月(不是5月)的。我想可能是Javascript中第一个数字为0的逻辑所致。我应该如何修改代码来显示与实际月份相匹配的月号?

javascript qualtrics
1个回答
1
投票

你把脚本放在哪里? 链接和脚本标签应该放在调查表头。 然后在问题的JavaScript中使用addOnload和addOnReady函数(而不是在问题文本中的脚本标签中)。

是的,在该日期格式中,月份是从0开始索引的。您可以使用一个带有实际日期的日期字符串,如 "2020-05-22"。

就个人而言,我喜欢用flatpickr作为Qualtrics的日期选择器。

© www.soinside.com 2019 - 2024. All rights reserved.