在我的用户编辑器页面中,我正在尝试检查其他客户是否正在使用输入电子邮件,而不是客户当前的电子邮件。这是我的代码,它似乎没有显示错误消息,但我的表单无法提交。
这是我的JS:
$("#cedit").validate({
rules : {
email : {
email : true,
remote : {
url : "ajax_checkemail.php",
type : "GET",
data : {
email : function() {
return $("#email").val();
},
custid : function() {
return $("#editc").val();
}
}
}
}
},
messages : {
email : {
remote : "Email is in use"
}
}
});
和PHP
include 'common.php';
$valid = false;
if(isset($_GET['email']))
{
$email = $_GET['email'];
$query = "SELECT * FROM `customer` WHERE `email_address` = '$email'";
if(isset($_GET['custid']) && !empty($_GET['custid']))
{
$custid = $_GET['custid'];
$query .= " AND `customer_id` != '$custid'";
}
$result = query($query);
$count = mysql_num_rows($result);
if ($count == 0)
{
$valid = true;
}
}
echo json_encode($valid);
当我直接访问它并将GET参数放在URL中时,PHP工作正常,但由于某种原因它不能正确验证,因此不会让表单提交。
答案 0 :(得分:0)
我从未使用过这个远程验证,但是你不需要在php脚本中将响应类型设置为json吗? As in header('Content-type: application/json');