我正在尝试在将访问者信息添加到 mysql 数据库之前验证表单。jQuery 脚本如下:
var phone = $("input#phone").val();
if (phone == "") {
$("label#phone_error").show();
$("input#phone").focus();
return false;
}
//Captcha validation
var security_code = $("input#security_code").val();
$.ajaxSetup({cache: false})
$.get('getsession.php', {requested: 'seccode'}, function (data) {
var session = data;
if (security_code !== session) {
$("label#security_code_error").show();
$("input#security_code").focus();
alert ('NO MATCH: '+security_code+' '+session);
return false; // <= FUNCTION SHOULD EXIT HERE
} else {
alert ('MATCH!!!: '+security_code+' '+session);
}
});
var dataString = 'name='+ name + '&email=' + email + '&phone=' + phone;
//alert (dataString);return false;
$.ajax({
type: "POST",
url: "bin/process.php",
data: dataString,
success: function() {
$('#contact_form').html("<div id='message'></div>");
$('#message').html("<h2>Contact Form Submitted!</h2>")
.append("<p>We will be in touch soon.</p>")
.hide()
.fadeIn(1500, function() {
$('#message').append("<img id='checkmark' src='images/check.png' />");
});
}
});
return false;
});
});
如果缺少名称,则表单会显示错误并关注要完成的字段。问题是验证码验证。如果匹配,则成功处理表单并将潜在客户添加到数据库,但是,如果在文本字段中输入的安全代码与生成的代码不匹配,则会显示错误,但表单信息仍会添加到数据库. 看起来“return false; // <= FUNCTION SHOULD EXIT HERE”无法识别。关于我的代码有什么问题的任何建议?