ajax/phpスクリプトに問題があります。
これは、ユーザー登録のためのユーザー名の可用性を確認するためのものです。
javascript
$(document).ready(function()
{
$("#username").change(function()
{
var usr = $("#username").val();
if(usr.length >= 4)
{
$("#status").html('<img src="./style/images/loading.gif"> Checking availability...');
$.ajax(
{
type: "POST",
url: "./ps/ajax_validation.php",
data: "username="+ usr,
success: function(msg)
{
$("#status").ajaxComplete(function(event, request, settings)
{
if(msg == 'OK')
{
$(this).html(' <img src="./style/images/tick.gif" align="absmiddle">');
}
else
{
$(this).html(msg);
}
});
}
});
}
else
{
$("#status").html('<font color="red">The username should have at least <strong>4</strong> characters.</font>');
}
});
});
html
...
<input class="login_reg_field" id="username" name="username" type="text" value="<?php echo @$d['username']?>" />
<div id="status"></div>
...
ajax_validation.php
<?php
include("../core/config.php");
if(isset($_POST['username'])){
$username = $_POST['username'];
$test = $user->checkUsernameAvaible($username); //Return True if Username IS Avaible
if(!$test){
echo '<font color="red">The nickname <STRONG>'.$username.'</STRONG> is already in use.</font>';
}else{
echo "OK";
}
}
?>
phpスクリプトは機能しています。$_GET変数を使用して手動で試しました。
フォームを試してみると、フォームはオンのままでChecking avaibility...
、FirefoxコンソールでJavascriptエラーは発生しません。また、Tamper Dataで、ajaxリクエストが行われていることを確認しました。
$("#status").ajaxComplete(function(event, request, settings){
この行の後にアラートを試しましたが、アラートがポップアップしないため、問題が発生しているようです。