Tôi đã viết một mã html để đăng nhập như follwingvấn đề HTML trong IE
<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>
và viết jQuery cho validation.It thay thế alert (ở đây tôi sử dụng <p class="lalert">test alert</p>
) tự động.
Vấn đề là, khi tôi chạy điều này trong IE, thông báo cảnh báo được hiển thị hai lần. Nhưng trong các trình duyệt khác không có vấn đề gì.
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);
?>
tôi không thể tìm thấy lý do tại sao điều này xảy ra. Ai có thể giúp tôi..?
mã jQuery ở đâu? post rằng – thecodeparadox
Nó có lẽ sẽ có kèm theo trình xử lý sự kiện hai lần vì một lý do nào đó nhưng không có mã jQuery là một sự đoán. –
đặt tất cả các mã của bạn trong jsfiddle sau đó chúng tôi có thể tìm ra tôi đoán. – Hardik