2010-11-06 5 views
2

На моей странице редактора пользователей я пытаюсь проверить, используется ли ввод электронной почты другими клиентами, но не текущим электронным письмом клиентов. Это мой код, он, похоже, не показывает сообщение об ошибке, но моя форма не может быть отправлена.jQuery Validate Remote Email Validation не работает

Вот мой 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, но по какой-то причине он выиграл 't правильно утвердить и, таким образом, не позволит подавать форму.

+0

http://beski.wordpress.com/2009/05/16/check-email-already-exist-ajax-jquery/ – ArK

+0

Как выглядит ваша разметка '

'? –

+0

та же проблема :(форма выглядит следующим образом: – 2010-12-02 22:46:27

ответ

0

Я никогда не пользовался этой дистанционной проверкой, но вам не нужно задавать тип ответа json в вашем php-скрипте? As in header('Content-type: application/json');