Изменение JavaScript календаря в Qualtrics - PullRequest
0 голосов
/ 16 июня 2020

Я нашел код 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. Как мне изменить приведенный выше код, чтобы календарь отображался только в вопросе даты только на первой странице?

Кроме того, я обнаружил, что цифра «5» в строке «новая дата (2020, 05, 22)» на июнь (не май). Я думаю, что это могло быть из-за logi c, что первое число в Javascript равно 0. Как мне изменить код для отображения номера месяца, соответствующего фактическому месяцу?

1 Ответ

1 голос
/ 16 июня 2020

Куда ты скрипт положил? Теги ссылки и скрипта должны быть go в заголовке опроса. Затем функции addOnload и addOnReady в JavaScript вопроса (не внутри тегов скрипта в тексте вопроса).

Да, в этом формате даты месяц индексируется с 0. Вы можете использовать строку даты с фактическими датами, например «2020-05-22».

Лично мне нравится использовать flatpickr как средство выбора даты с Qualtrics.

...