这是我的j查询代码:控制台显示我为测试操作是否通过j查询而添加的“更改”.我还通过手动传递参数来运行valdiateUname.PHP,它返回了正确的结果,但我的j查询未检查用户名.问题是什么?谁能帮我?
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<script type="text/javascript">
jQuery(function ($) {
uname.change(function(){
console.log('change');
$.ajax({
type: "POST",
data:{ // data that will be sent
uname: uname.val()
},
url:"validateUname.PHP",
//dataType:"text", // what type of data we'll get back
beforeSend: function(){
if(!$('span.unameCheck').html()){
$(this).after(' <span class="unameCheck" style="color:blue;"><b>Checking for the availability of username.....</span>');
}
},
success:function(data){
if(data != 0 ) {
if(!$('span.unameError2').html()){
$(this).after(' <span class="unameError2" style="color:red;"><b>Username already exist.</span>');
}
return false;
//valid = true;
}
else {
$(this).toggleClass('unameError2', false);
$('span.unameError2').fadeOut().remove();
return true;
}
}
});
});
});
</script>
<?PHP
require_once("config.PHP");
$username= isset($_POST["uname"]) ? $_POST["uname"] : $_GET["uname"];
$sql= "SELECT temp_user_login FROM temp_user_register WHERE temp_user_login = '$username' ";
echo $sql;
$result = MysqL_query($sql);
echo $result;
$msg = MysqL_num_rows($result);
echo $msg;
?>
解决方法:
if(!$(‘span.unameError2’).html())将永远不会触发,因为它不会返回false,它会返回”,并且您的条件语句不会对此进行检查.
证明在jsFiddle
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。