В AJAX новичок. Пытаюсь сделать форму регистрации. Для этого хочу сделать проверку на повторность логина.
Когда ввожу что либо в
#login_r то ничего не происходит. Вообще...
Собственно вот часть формы, и сам скрипт.
<form action="" method="POST" id="form_reg">
<div class="form-group has-feedback">
<div class="input-group">
<span class="input-group-addon icon"><i class="glyphicon glyphicon glyphicon-user"></i></span>
<input type="login" class="form-control login_r" id="login_r" placeholder="Kot" name="login_reg" required="required">
<span class="glyphicon form-control-feedback"></span>
</div>
<span id="message_log"></span>
...</form>
$(function() {
$('#login_r').keyup(function(){
$.ajax({
type: 'POST',
url: 'reg.php',
data: $('#form_reg').serialize(),
success:function(msg){
if(msg == 'y'){
alert('y');
$('#message_log').html('<font>Этот логин можно использовать.</font>');
}else if(msg == 'n'){
alert('n');
$('#message_log').html('<font>Этот логин уже занят.</font>');
}
},
error: function(msg) {
alert('error');
}
});
});
});
А так же сам обработчик:
<?php
$db_host = "127.0.0.1";
$db_user = "root";
$db_password = "";
$db_table = "client";
$db = mysql_connect($db_host,$db_user,$db_password) OR DIE ("No connection");
mysql_select_db("KPMagZap", $db);
if(isset($_POST["login_reg"])){
$login=htmlspecialchars($_POST['login_reg']);
$query=mysql_query("SELECT * FROM client WHERE log='".$login."'");
$rowcat=mysql_fetch_array($query);
$numrows=mysql_num_rows($query);
if($numrows == 0) {
echo "yes";
}
else{
echo "no";
}
}
?>
Немного изменил код
$(function() {
$('#login_r').on('keyup', function(){
console.log('пошел процесс!');
$.ajax({
type: 'POST',
url: 'reg.php',
data: $('#form_reg').serialize(),
success:function(msg){
if(msg == 'yes'){
$('.message_log').html('<font color="green">Этот логин можно использовать.</font>');
}else if(msg == 'no'){
$('.message_log').html('<font color="green">Этот логин уже занят.</font>');
} else {
console.log(msg);
}
},
error: function(msg) {
alert('error');
}
});
});
});
Теперь выводит
console.log(msg);. То есть пропускает весь цикл до последнего else.
Есть предположение, что ругается на эти пробелы. Как пофиксить можно?