2016-03-25 4 views
0

У меня есть один текстовый блок (также называемый «Текстовый ввод») в моем опросе qualtrics, в котором я хочу, чтобы участники что-то пишем, но я не хочу, чтобы результат был сохранен в моем данные. Я не хочу использовать функцию пароля, поэтому я использовал JavaScript на уровне текстового поля.Qualtrics: Javascript, чтобы предотвратить сохранение записи из текстового поля

Приведенный ниже код работает в той степени, в которой все участники, помещенные в текстовое поле, будут установлены в пустую строку в тот момент, когда они нажимают кнопку «Далее».

Qualtrics.SurveyEngine.addOnload(function() 
{ 
    /*Place Your Javascript Below This Line*/ 
var currentQuestionID = this.getQuestionInfo().QuestionID 

var input = $("QR~"+currentQuestionID); 


$('NextButton').onclick = function (event) { 
    input.value = "" 
} 
}); 

Проблема: Этот код работает только иногда. Например, когда у меня есть два текстовых поля с одним и тем же кодом, он работает только для первого, а не второго. Аналогичным образом по какой-либо причине, если текстовое поле встроено в некоторые другие вопросы, оно также не работает.

Кто-нибудь знает, как я могу это сделать, изменив свой код или совершенно другое решение? По сути, я просто хочу, чтобы участники записали текст, который никогда не будет сохранен в моих данных, и я не могу использовать функцию пароля.

Решение: Одним из путей решения это было бы добавить «описательный текст» пункт, в котором вы можете добавить простой HTML код:

<p>Please provide your email address:</p><p><br></p> 

<input name="nothing" type="textarea"> 
+0

Использовать класс для всех входов, которые вы не хотите сохранять, а затем установить элементы класса в пустые? '$ (" Класс ") Вал ("");. '. –

+0

Пожалуйста, расскажите нам, почему это хорошая идея, чтобы тратить время на ввод текста, который вы собираетесь немедленно выбросить. –

+0

@Henry A .: Спасибо за ваш ответ, к сожалению, я недостаточно разбираюсь в JavaScript, чтобы привести ваше предложение в действие без дальнейших намеков. Тем не менее, предложение коллеги - решение, которое работает (см. Выше). –

ответ

0

Я не думаю, что JavaScript работает хорошо в этом случае так как он не может быть гарантирован для запуска до того, как страница отправит данные.

Лучший способ - создать фиктивный «вопрос» HTML, который имеет вид формы, но не сохраняет никакой информации.

Я попытался это в тестовом опросе, добавив вопрос типа «описательный текст», а затем в «HTML View» для этого вопроса, добавив:

<p>This is not a real question, there is just a HTML textarea. </p> 
<form id="mydummyform"> 
<input name="nothing" type="textarea" /> 
</form> 

я обнаружил, что иногда это показал HTML-источник вместо формы в редакторе опроса; если он это делает, просто перейдите в «HTML-представление», а затем «Обычный вид», и он должен правильно разрешить. Эта проблема была только в редакторе - она ​​всегда правильно показывалась в предварительном просмотре опроса.