Intereting Posts
Многомерный массив + Foreach Приложение Facebook – глубокая ссылка для нового пользователя приложения Распределение памяти PHP не работает Использование конфигурации apache для указания директории PHP include для каждого сайта WordPress удаляет мои пункты меню, если над лимитом 90 пунктов меню – Как получить несколько строк из базы данных в PHP OpenTBS: динамическое изменение цвета строк в таблице Как передавать данные сеанса в другом контроллере в CodeIgniter Разрешить пользователю прикреплять несколько файлов, но необязательно Библиотека GD создает изображение с динамическим текстом на нем Laravel 5.2 – ссылок метода не существует Создание поля перевода A2lix, требуемого в интерфейсе в форме Symfony Проект CodeIgniter Предоставление 303 / Ошибка сжатия Могу ли я предсказать, насколько большой будет мой индекс Zend Framework? (и некоторые быстрые Q: s) Обслуживание файлов из Google Cloud Store на сайте GAE PHP

Проверка доступности AJAX с кнопкой отправки

  • test1.php

    <html> <head> <script type="text/javascript" src="js/jquery-1.11.1.js"></script> <script type="text/javascript"> $(document).ready(function(){ $('#username').change(function(){ var userName = $('#username').val(); $.post("getUserName.php", {userName: userName}, function(data){ $("#userNameCheck").html(data); }); }); $('#submit').click(function(){ //CODE HERE }); }); </script> </head> <body> <form action="" method="post" id="addform"> Username: <input type="text" name="username" id="username" size="24" class="required" maxlength="22" /> <div id="userNameCheck"></div> <input type="submit" id="submit" name="submit" value="ADD user" /> </form> </body> </html> 
  • getUserName.php

     <?php include("db.php"); $userName = $_POST['userName']; $q = "select user_name from user where user_name = '".$userName."'"; $r = mysqli_query($dbc, $q); $num = mysqli_num_rows($r); if($num) { echo '<div style="color:red">Username taken. Please type another new one. </div>'; } else { echo '<div style="color:green">You can use it.</div>'; } ?> в <?php include("db.php"); $userName = $_POST['userName']; $q = "select user_name from user where user_name = '".$userName."'"; $r = mysqli_query($dbc, $q); $num = mysqli_num_rows($r); if($num) { echo '<div style="color:red">Username taken. Please type another new one. </div>'; } else { echo '<div style="color:green">You can use it.</div>'; } ?> 
  • база данных (таблица пользователей)

    user_id имя_пользователя
    1 ali
    2 abu

  • Из вышесказанного:
    => введите « ali » в текстовое поле -> покажите «Вы можете использовать» messsage в зеленом цвете.
    => введите ahmad в текстовое поле -> показать сообщение «Имя пользователя …» красным цветом.

  • Мое требование: если сообщение «Вы можете использовать его», перейдите к test2.php; если сообщение «Имя пользователя …», никакая заявка на форму.

  • Мой вопрос: как я могу управлять сообщением «Вы можете использовать его» или «Имя пользователя», когда я нажимаю кнопку «Отправить»?

Вместо использования обработчика кликов для кнопки используйте событие отправки формы.

 $(document).ready(function () { $('#username').change(function () { var userName = $('#username').val(); $.post("getUserName.php", { userName: userName }, function (data) { $("#userNameCheck").html(data); }); }); $('#addform').submit(function () { //if the text is `You can use it` allow the form submit else block it return $("#userNameCheck").html().trim() == 'You can use it'; }); }); 

Также убедитесь, что вы выполняете ту же проверку в test2.php потому что проверка на стороне клиента может быть ступенчатой.