我在页面上有两个问题的调查(一个是多项选择),另一个是文本输入问题。
我想要隐藏下一个按钮,直到文本输入问题被填写完毕,但我只能无限期地隐藏下一个按钮,并且在填写文本字段后似乎没有重新出现。
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 ()}
});
});
});
答案 0 :(得分:1)
您有一些语法错误。看起来你正在尝试使用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();
});
});