验证输入文本框?

时间:2012-11-01 02:07:54

标签: jquery

<input id="edit-name" type="text" class="name"/>

光标聚焦在文本中并且没有输入字符然后失去焦点,给出提示(请输入名称)

光标在文本框中聚焦,然后在文本框中键入一个字符,删除错误消息。

我的代码:

    $('#edit-name').focus(function(){
        if($(this).val()!=''){
        $('.error-message').remove();
        }
    });
    $('#edit-name').blur(function(){
        if($(this).val()==''){
            $('.error-message').remove();
          $('#edit-name').after('<span style="color:red;" class="error-message" >please enter the name!</span>'); 
        }


});

我的代码有问题吗?虽然我在文本框中输入了一个字符,但错误消息仍然存在,除非光标再次聚焦在文本中。

1 个答案:

答案 0 :(得分:0)

您正在使用模糊,这意味着如果您没有输入任何内容,它将显示工具提示。但是,您的问题表明您想要

  

光标聚焦在文本中并且没有输入字符,给出提示(请输入名称)

这意味着需要关注焦点,如else条件。这样的东西就是你要找的东西:

     $('#edit-name').on('focus change', function(){
        if($(this).val()!=''){
        $('.error-message').remove();
        } else { 
          // what you're doing in the blur function
        }
    });

只要我专注于输入框,我就会看到工具提示。 change确保只要我输入内容,工具提示就会消失。

PS - 除非我弄错了,你确实希望工具提示出现在模糊处。在这种情况下,请忽略此答案。