如何在文本字段中填充文本之前隐藏 qualtrics 上的下一个按钮?
How to hide the next button on qualtrics until a text field is filled in with text?
我有一个调查,页面上有两个问题(一个是多项选择题),一个是文本输入问题。
我想在填写文本输入问题之前隐藏下一个按钮,但我只能无限期地隐藏下一个按钮,并且在填写文本字段后它似乎不会重新出现。
Qualtrics.SurveyEngine.addOnload(function()
{
this.hideNextButton();
(function() {
$('form > input').keyup(function() {
var empty = false;
$('form > input').each(function() {
if ($(this).val() == '') {
empty = true;
}
});
if (empty) {hideNextButton ()} else {showNextButton ()}
});
});
});
您有一些语法错误。看起来您正在尝试使用 jQuery 而不是 Prototypejs。除此之外,您需要将输入元素搜索限制为问题,并且只有一个输入字段,因此您只需要一个功能。试试这个(编辑延迟初始下一个按钮隐藏):
Qualtrics.SurveyEngine.addOnload(function() {
function hideEl(element) {
element.hide();
}
var nb = $('NextButton');
hideEl.defer(nb);
$(this.questionId).down('.InputText').on('keyup', function(event) {
if(this.value.length == 0) nb.hide();
else nb.show();
});
});
我有一个调查,页面上有两个问题(一个是多项选择题),一个是文本输入问题。
我想在填写文本输入问题之前隐藏下一个按钮,但我只能无限期地隐藏下一个按钮,并且在填写文本字段后它似乎不会重新出现。
Qualtrics.SurveyEngine.addOnload(function()
{
this.hideNextButton();
(function() {
$('form > input').keyup(function() {
var empty = false;
$('form > input').each(function() {
if ($(this).val() == '') {
empty = true;
}
});
if (empty) {hideNextButton ()} else {showNextButton ()}
});
});
});
您有一些语法错误。看起来您正在尝试使用 jQuery 而不是 Prototypejs。除此之外,您需要将输入元素搜索限制为问题,并且只有一个输入字段,因此您只需要一个功能。试试这个(编辑延迟初始下一个按钮隐藏):
Qualtrics.SurveyEngine.addOnload(function() {
function hideEl(element) {
element.hide();
}
var nb = $('NextButton');
hideEl.defer(nb);
$(this.questionId).down('.InputText').on('keyup', function(event) {
if(this.value.length == 0) nb.hide();
else nb.show();
});
});