使用提交按钮AJAX实时检查可用性
-
test1.php
$(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 }); });
-
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 '
Username taken. Please type another new one.'; } else { echo 'You can use it.'; } ?> -
数据库(用户表)
user_id user_name
1阿里
2阿布 -
从上面:
=>在文本框中键入“ ali ” – >显示“你可以使用它”绿色的消息。
=>在文本框上键入ahmad – >以红色显示“Username taken …”消息。 -
我的要求是如果消息是“你可以使用它”,请转到test2.php; 如果消息是“Username taken …”,则表单上没有提交。
-
我的问题是当我点击提交按钮时如何控制“你可以使用它”或“用户名截取”消息?
不使用按钮的单击处理程序,而是使用表单提交事件。
$(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
进行相同的validation,因为客户端validation可以是侧面步骤。