永远不会执行真条件,而是始终执行false条件。我似乎无法找到我到底做错了什么。
NSDate
答案 0 :(得分:3)
您需要检查点击处理程序中的input#userEmail
。否则,您只存储了执行$(document).ready()
回调时输入值的内容。
$("#email-submit").click(function(){
var userEmail = $('input#userEmail').val();
if (!validateEmail(userEmail)) {
$('#emailErrors').text("Enter a valid Email");
} else {
// true condition
}
}
如上所述,您也可以使用else
而不是两次致电validateEmail
。
此外,在您的validateEmail
函数中,您还要声明参数$email
。通常,在变量之前为$
添加前缀的约定是在您缓存jQuery(或其他库)对象时。您应该将其切换为email
。
答案 1 :(得分:0)
https://jsfiddle.net/uf6Ld70f/
$(document).ready(function () {
$("#email-submit").click(function () {
var userEmail = $('input#userEmail').val();
//true conidition
if (validateEmail(userEmail)) {
alert("true");
$.post('includes/loginFunction.php', {
userEmail: userEmail
}, function (data) {
$('#emailErrors').text(data);
});
// false
}else{
$('#emailErrors').text("Enter a valid Email");
}
});
});
function validateEmail($email) {
var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
return emailReg.test($email);
}