Jquery 空span/div实际上不是空的

Jquery 空span/div实际上不是空的,jquery,html,Jquery,Html,当我检查用户名并且一切正常时,id为user_的span错误变为空,但当我检查电子邮件时,情况不同,它说span email_错误不是空的。为什么会这样 <form name="field" method="post" id="form"> <label for="username">Username:</label><br> <input name="username" id="username" type="text"/&

当我检查用户名并且一切正常时,id为user_的span错误变为空,但当我检查电子邮件时,情况不同,它说span email_错误不是空的。为什么会这样

<form name="field" method="post" id="form">
    <label for="username">Username:</label><br>
    <input name="username" id="username" type="text"/>   
    <span id="user_error"></span><br><br>
    <label for="email">Email:</label><br>
    <input name="email" id="email" type="text"/>   
    <span id="email_error"></span><br><br>
    <input name="submit" type="button" value="Register" id="submit"/><br>    
</form> 

用户名:


电子邮件:



jQuery

$(document).ready(function() {
    $("#username").blur(validateUser);
    $("#email").blur(validateEmail);
    $("#submit").click(submitForm);

    function validateUser() {
        var user = $("#username").val();
        var user_regex = /^([^\s])*$/;

        if($("#username").val().length == 0)
            $("#user_error").html("Insert username");
        else if($("#username").val().length > 14)                          
            $("#user_error").html("Username too long");         
        else if($("#username").val().length < 6)
            $("#user_error").html("Username too short");                
        else if (user_regex.test(user) == false)
            $("#user_error").html("Username no whitespaces");           
        else
            $("#user_error").html("");
    }       


    function validateEmail() {
        var email = $("#email").val();
        var email_regex = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;    

        if($("#email").val().length == 0)
            $("#email_error").html("Insert email");
        else if (email_regex.test(email) == false)
            $("#email_error").html("Email not valid");
        else
            $("#email_error").html(""); 
    }

    function submitForm() {
        var username = $("#username").val();
        var email = $("#email").val();

        //if ($("#user_error").text().length){
        //alert ('ERROR!')  
        //}
        //else {
        //  alert ('OK!')   
        //}

        if ($("#email_error").text().length){
            alert ('ERROR!')    
        else
            alert ('OK!')               
    }
});
$(文档).ready(函数(){
$(“#用户名”).blur(validateUser);
$(“#email”).blur(validateEmail);
$(“#提交”)。单击(提交表单);
函数validateUser(){
var user=$(“#用户名”).val();
var user_regex=/^([^\s])*$/;
if($(“#username”).val().length==0)
$(“#用户_错误”).html(“插入用户名”);
else if($(“#username”).val().length>14)
$(“#user_error”).html(“用户名太长”);
else if($(“#username”).val().length<6)
$(“#user_error”).html(“用户名太短”);
else if(user_regex.test(user)==false)
$(“#user_error”).html(“用户名无空格”);
其他的
$(“#用户_错误”).html(“”);
}       
函数validateEmail(){
var email=$(“#email”).val();
var email\u regex=/^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
if($(“#email”).val().length==0)
$(“电子邮件错误”).html(“插入电子邮件”);
else if(email_regex.test(email)=false)
$(“#电子邮件错误”).html(“电子邮件无效”);
其他的
$(“#电子邮件错误”).html(“”);
}
函数submitForm(){
var username=$(“#username”).val();
var email=$(“#email”).val();
//if($(“#用户_错误”).text().length){
//警报('错误!')
//}
//否则{
//警报('OK!')
//}
if($(“#email_error”).text().length){
警报('错误!')
其他的
警报('OK!')
}
});
试试:


可能是因为您正在验证
blur
上的字段,而不是
submit
上的字段。请添加以下内容:

function submitForm() {
    $('#username,#email').trigger('blur');

在submitForm函数中尝试
console.log($(“#email_error”).text())
你得到了什么?如果你澄清“它说span email_错误不是空的”是什么意思就好了?你是说当你提交表单时,你遇到了问题,并且看到了你的
错误!
警报?
function submitForm() {
    $('#username,#email').trigger('blur');