У меня есть форма регистрации с проверкой доступного имени для поля имени пользователя через ajax. Ввод имени пользователя в поле имени пользователя и нажатие кнопки «Проверить!» Кнопка, скрипт отправляет значение в php скрипт. Затем php-скрипт заменяет поле имени пользователя полем имени пользователя + стиль следующим образом:
альтернативный текст http://moismski.com/textfields.png
Таким образом, при замене поля имени пользователя в форме его эквивалентом из сценария php, а затем при отправке формы он попадает в скрипт на странице, который проверяет, является ли поле имени пользователя пустым или нет. И это возвращает ошибку, что это пусто, хотя после проверки через ajax поле имени пользователя это имеет значение.
Я не понимаю, почему он попадает в пустой скрипт проверки поля с тем же именем поля и значением?
P.S. В IE браузер работает хорошо, но тестирование в Firefox и Opera выдает ошибку!
Это форма, подобная примеру:
<form method="post" action="check_form.php">
<div id="loadfield"><input type="text" name="username" value=""></div>
<input type="button" value="Check!" onclick="...script for sending username value to PHP script...">
<input type="submit" value="Submit a form">
</form>
Это скрипт, который проверяет пустое поле после отправки формы:
<?
if(empty($_POST["username"])){
echo "<script>alert('Username field is empty!');</script>";
}
?>
Это скрипт, который AJAX отправляет имя пользователя для проверки перед отправкой:
<?
if(empty($_GET["username"])){
echo '<input type="text" name="username" value="'.$_GET["username"].'" style="border-width:1; border-color:red; border-style:solid; background-color:rgb(255,232,230);">';
}
?>