Это довольно специфично, и я пока не нашел ответа.
Я пишу сценарий для проверки, если имя уже введено на сервер SQL с использованием JQuery $ .POST.
Передняя часть выглядит так:
register.php
<div id="container" class="container">
<div id="wrapper" class="wrapper">
<div id="title" class="title">
Welcome to Taskar!
</div>
<div id="login" class="login">
<form method="post" action="registermembers.php">
<div id="exists">
Register Your Company Below:
</div>
<input type="text" id="company" name="company" value="Company Name"/> <br />
<br />
<input type="text" id="password" name="password" value="Default Password"/> <br />
<input type="submit" name="submitcompany" value="Submit" />
</form>
<script>
$(document).ready(function() {
$('#company').keyup(function() {
var $company = $(this).val();
var $reg = $('#exists').html();
$.post('include/reg_post.php', { company: $company, reg: $reg }, function(company) {
$('#exists').html(company);
});
});
});
</script>
</div>
</div>
</div>
Код бэкэнда выглядит так:
reg_post.php
<?php
include 'include/db.php';
$reg = $_POST['reg'];
$company = $_POST['company'];
$email_hash = $_COOKIE['email_hash'];
$password = $_COOKIE['password'];
$sql = "SELECT * FROM taskar_employee WHERE (company = '$company')";
$result = mysql_query($sql) or die(mysql_error());
if(mysql_num_rows($result) <= 1){
echo $reg;
} else {
echo "This Company Already Exists!";
} ?>
Теперь проблема, с которой я сталкиваюсь, заключается в том, что когда я тестирую это, все работает нормально вплоть до того, как я ввожу название компании, которое находится в базе данных. Это показывает мне, что компания уже зарегистрирована. Когда я нажимаю клавишу Backspace или набираю другую букву, она все равно говорит мне, что компания все еще существует, хотя, очевидно, ее не будет.
Похоже, что оператор if хочет остановить продолжение функции $ .post после получения противоположного оператора?
Что вы, ребята, думаете?