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
потому что проверка на стороне клиента может быть ступенчатой.