如何在文本字段填入文本之前隐藏质量上的下一个按钮?

时间:2016-11-01 23:49:49

标签: javascript prototypejs qualtrics

我在页面上有两个问题的调查(一个是多项选择),另一个是文本输入问题。

我想要隐藏下一个按钮,直到文本输入问题被填写完毕,但我只能无限期地隐藏下一个按钮,并且在填写文本字段后似乎没有重新出现。

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 ()}
        });
    });
});

1 个答案:

答案 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();
    });
});