Jquery 空span/div实际上不是空的
当我检查用户名并且一切正常时,id为user_的span错误变为空,但当我检查电子邮件时,情况不同,它说span email_错误不是空的。为什么会这样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"/&
<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');