【问题标题】:How to hide required message instantly when input field is not empty当输入字段不为空时如何立即隐藏所需的消息
【发布时间】:2015-03-16 17:54:54
【问题描述】:

有一个输入字段。它是空的,单击“提交”按钮后,它会显示一条必填消息,例如“此字段是必填项”。在触摸输入并键入任何需要的消息后,就像在输入字段中键入任何内容时一样,该输入字段不再为空。但是,我无法在输入时立即隐藏该消息。再次单击提交按钮后,它已被隐藏。但是,当归档不再为空时,我需要立即隐藏。这该怎么做?我用过:

if ($('#field').val() == '') {
      $('.required').show();
  } else {
     $('.required').hide();
  }

Fiddle Work

【问题讨论】:

    标签: jquery


    【解决方案1】:

    更新

    $('body').on('click', 'button', formSubmit);
    $('#field').keyup(isFormValid);
    
    function isFormValid() {
        if ($('#field').val() == '') {
            $('.required').show();
            return false;
        } else {
            $('.required').hide();
            return true;
        }
    }
    function formSubmit(){
        if(isFormValid()){
            alert('form is valid');
        }else{
            alert('form is not valid');
        }
    }
    

    更新demo 2


    您必须使用.keyup,然后执行与单击时相同的检查。

    类似的东西

    $('body').on('click', 'button', formCheck);
    $('#field').keyup(formCheck);
    
    function formCheck() {
        if ($('#field').val() == '') {
            $('.required').show();
        } else {
            $('.required').hide();
        }
    }
    

    这是demo

    【讨论】:

    • 谢谢,能再帮我一个小忙吗?为了测试另一件事,我添加了这种类型的功能,当输入不为空时,点击提交后,会发生一个新的事情,我在这个小提琴上做了:jsfiddle.net/learner73/n05wc21b/2 但我不明白如何把这个.keyup 函数后
    • @Dhiraj 很好的答案,我投了赞成票,但问题很简单。在这种特殊情况下,使用 ($('#field').val() == '') 比简单地使用 (!$('#field').val()) 有什么优势吗?
    • @TravisClarke:我不这么认为。你可以使用任何一个。
    • @user1896653:如果用户正确输入表单,您希望发生其他事情吗?我不明白这与 keyup 有什么关系
    • 不,我在提交后不使用 keyup 工作。我只想在提交后,如果文件不为空,就会发生新的事情(我已经带来了弹出窗口进行测试)。所以,我基本上需要这三件事:1)点击提交后,如果输入为空,显示空消息,2)当任何人通过触摸和输入任何内容使输入不为空时显示空消息后,空消息应该立即消失(如 keyup 功能)。 3)当该字段不为空时,然后点击提交后,会发生一个全新的事情(弹出)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-21
    相关资源
    最近更新 更多