我在互联网上找到了一个免费的用户名验证脚本,这是它的javascript方面:
$(document).ready(function () {
$("#username").blur(function () {
$("#msgbox").removeClass().addClass('messagebox').text('Checking...').fadeIn("slow");
//check the username exists or not from ajax
$.post("availability.php", {
user_name: $(this).val()
}, function (data) {
if (data == 'no') //if username not avaiable
{
$("#msgbox").fadeTo(200, 0.1, function () //start fading the messagebox
{
$(this).html('This User name Already exists').addClass('messageboxerror').fadeTo(900, 1);
});
} else {
$("#msgbox").fadeTo(200, 0.1, function () //start fading the messagebox
{
$(this).html('Username available to register').addClass('messageboxok').fadeTo(900, 1);
});
}
});
});
});
您看到这引用了“availibility.php”页面,该代码如下:
<?
$existing_users=array('roshan','mike','jason');
$user_name=$_POST['user_name'];
if (in_array($user_name, $existing_users))
{
echo "no";
}
else
{
//user name is available
echo "yes";
}
?>
最后,在页面上,这是用户输入数据的输入标记:
<input name="user_name" type="text" id="username" value="" maxlength="15" />
<span id="msgbox" style="display:none"></span>
我有这个脚本使用最新版本的jquery(1.4.4) 这是一个工作示例的链接:Link
当您在我的网站上输入“mike”时,它表示该用户名可供使用。在上面提供的示例链接中,用户名就像它应该的那样。
我能想到的唯一可能的问题可能是我的主机不提供对ajax的支持? 想法?
谢谢!
答案 0 :(得分:2)
检查firebug,chrome等中的响应......无论你使用什么,我的猜测是"no"
不是唯一的事物在响应中被回应,你可以在alert(data)
的成功处理程序顶部做一个简单的$.post()
,看看那里还有什么。确保仅在响应中回显您想要的内容。
答案 1 :(得分:0)
这是php mysql jquery Ajax中用户名可用性检查器的最佳脚本 从这里得到它http://www.my-php-scripts.net/index.php/Jquery/ajax-username-availability.html