Проверка JQuery удаленной электронной почты не работает - PullRequest
2 голосов
/ 06 ноября 2010

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

Вот мой 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);

PHP работает нормально, когда я обращаюсь к нему напрямую и помещаю параметры GET в URL, но по какой-то причине он не проходит правильную проверку и поэтому не позволяет форме отправляться.

1 Ответ

0 голосов
/ 09 июня 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...