我已经写了一个html代码进行登录
<div id="wrapper">
<div id="page">
<div class="aLogin">
<label>User Name : </label>
<input type="text" class="lname" />
<label>Password : </label>
<input type="password" class="lpwd" />
<input type="submit" class="logSubmit" value="LOGIN" />
<p class="lalert">test alert</p>
</div>
</div>
并编写了jQuery进行验证。它动态替换了警报(这里我使用
<p class="lalert">test alert</p>
)。问题是,当我在IE中运行此程序时,警报消息显示了两次。但是在其他浏览器中没有问题。
jQuery
$(document).ready(function(){
$('.logSubmit').click(function(){
var name = $('.lname').val();
var pwd = $('.lpwd').val();
$.post("/login.php",{name:name,pwd:pwd}).success(function(data){
var obj = jQuery.parseJSON(data);
$('.lalert').fadeIn('slow');
if(obj.success == 1){
$('.lalert').css('color','#067800');
$('.lname').val('');
$('.pwd').val('');
$('.lalert').html(obj.msg);
}else{
$('.lalert').css('color','#CC0000');
$('.lalert').html(obj.msg);
}
});
});
});
login.php
<?php
$name = $_POST['name'];
$pwd = $_POST['pwd'];
$err['success'] = 0;
$err['msg'] = '';
if($name != 'admin'){
$err['msg'] = 'Invalid Name';
}else if($pwd != 'admin'){
$err['msg'] = 'Invalid Password';
}else{
$err['success'] = 1;
$err['msg'] = 'Success';
}
echo json_encode($err);
?>
我不知道为什么会这样。有谁能够帮助我..?
最佳答案
您好您忘记了写“return false”。
$('.logSubmit').click(function(){
var name = $('.lname').val();
var pwd = $('.lpwd').val();
$.post("/login.php",{name:name,pwd:pwd}).success(function(data){
var obj = jQuery.parseJSON(data);
$('.lalert').fadeIn('slow');
if(obj.success == 1){
$('.lalert').css('color','#067800');
$('.lname').val('');
$('.pwd').val('');
$('.lalert').html(obj.msg);
}else{
$('.lalert').css('color','#CC0000');
$('.lalert').html(obj.msg);
}
});
return false;
});