我試圖使用ajax將表單提交到數據庫。我成功地使用AJAX發佈到數據庫。但不是麻煩的是我不知道如何檢查提交的值是否已經存在於數據庫中。使用jquery validate插件檢查數據庫中是否存在電子郵件
我已經有PHP這樣做,但我試圖使用AJAX。我正在使用jquery驗證插件以下是代碼。
$('#subscribeForm').validate({
errorElement: "p",
errorPlacement: function(error, element) {
$('.status').html(error);
},
rules: {
email: {
required: true,
email: true,
remote: {
url: 'index.php',
type: 'post',
data: {
email: function(){
// not sure how to check this
}
}
}
}
},
messages: {
email: {
required: "Please enter your email.",
email: "Please enter a valid email.",
// remote: jQuery.format("{0} is already in use") // doesnt work
}
},
submitHandler: function(form) {
var btn = $(".submit_button");
btn.attr("value", "Submitting..");
$(form).ajaxSubmit({
success: function(){
btn.attr("value", "Submitted");
}
});
return false;
}
});
這是我的PHP:
if(isset($_REQUEST['subscribeForm'])){
$email = trim($_POST['email']);
if(empty($email) || !valid_email($email)){
$status = 'Please provide valid email address.';
} else {
if(email_exist($email)){
$status = 'You are already subscribed.';
} else {
add_email($email);
$status = 'Thank you for subscribing.';
}
}
}
編輯
這是我已經試過,但再次失敗。
if(isset($_REQUEST['subscribeForm'])){
$email = trim($_POST['email']);
if(empty($email) || !valid_email($email)){
$status = 'Please provide valid email address.';
} else {
if(email_exist($email)){
$status = 'You are already subscribed.';
echo false;
} else {
add_email($email);
$status = 'Thank you for subscribing.';
echo true;
}
}
}
而且我的JavaScript
rules: {
email: {
required: true,
email: true,
remote: {
url: 'index.php',
type: 'post'
}
}
},
messages: {
email: {
required: "Please enter your email.",
email: "Please enter a valid email.",
remote: "You are already subscribed."
}
},
我不關心這個消息。我被困在如何檢查電子郵件是否已經存在。 – Subash 2012-07-16 14:44:48