我正在尝试使用php& s构建登录页面js验证 - 我创建了html / php&等等,但.JS脚本总是挂在最后的"否则" ...并给出" 123"警告...我已经调试了几百个时间的语法问题,我知道任何在线调试网站 - 但它似乎是别的......
$(document).ready(function(){
$('form.landing-form').submit(function(){
var name = $.trim($('input[type="text"].field-name').val());
var email = $.trim($('input[type="text"].field-email').val());
var phone = $.trim($('input[type="text"].field-phone').val());
var nameReg = /^[a-zA-Z ]+$/;
var emailReg = /^([\w-\.]+@([[\w-]+\.)+[\w-]{2,4})?$/;
var phoneReg = /^[0-9-+]+$/;
$('input[type="text"]').removeClass('error');
if(name.length < 2 || !nameReg.test(name)) {
$('input[type="text"].field-name').addClass('error');
$('input[type="text"].field-name').val('');
$('input[type="text"].field-name').attr('placeholder','*valid name is requierd!');
} else if (email.length < 5 || !emailReg.test(email)) {
$('input[type="text"].field-email').addClass('error');
$('input[type="text"].field-email').val('');
$('input[type="text"].field-email').attr('placeholder','*email is requierd!');
} else if (phone.length < 9 || !phoneReg.test(phone)) {
$('input[type="text"].field-phone').addClass('error');
$('input[type="text"].field-phone').val('');
$('input[type="text"].field-phone').attr('placeholder','*phone is requierd!');
} else {
$.ajax({
url: "handler/form_handler.php",
type : "POST",
dataType: "html",
async: "false",
data : { name:name, email:email, phone:phone },
beforeSend : function () {
var messege = '<img src="images/ajax-loader.gif" border="0">';
messege += ' Sending...';
$('form.landing-form label').html(messege);
},
success: function(response) {
if(response == true){
alert('321');
} else {
alert('123');
}
}
});
}
return false;
});
});
有什么想法吗?
答案 0 :(得分:0)
我认为你以错误的方式使用成功。
Function( PlainObject data, String textStatus, jqXHR jqXHR )
换句话说,没有返回布尔值,但是成功消息。
尝试以下操作并查看返回的内容:
success: function(response) {
alert(response); /* y no console.log()? */
},
error: function(e) {
alert(e);
}
根据回复,您可以确定实际发送的内容以及返回的错误(如果有)。如果您不使用它们,像firebug这样的开发人员工具会有所帮助。
此外,您可能希望在与javascript进行比较时使用===
代替==
。 (见:this SO-post)