通知仅在第一次有效 - AJAX
Notifications works only First time - AJAX
我已经创建了一个登录系统。通过 AJAX.
提交登录表单
但是响应只显示第一次。 IE。假设我先输入了错误的凭据。响应显示。但是,当我再次输入新凭据时,它不会显示响应消息。抱歉,我对 JQuery 比较陌生。
下面是Jquery代码
<script type="text/javascript">
$(document).ready(function() {
var form = $('#loginform');
form.submit(function (ev) {
ev.preventDefault();
$.ajax({
type: form.attr('method'),
url: form.attr('action'),
cache: false,
data: form.serialize(),
success: function (data) {
if(data == 1){
$("#user-result").html("<font color ='#006600'> Logged in | Redirecting..</font>");
setTimeout(
function()
{
window.location.replace("index.php");
}, 1000);
}
else{
$("#user-result").html(data).delay( 2500 ).fadeOut( 800 );
}
}
});
});
});
</script>
我觉得可能是Fadeout的问题。有帮助吗?
由于您使用的是 fadeOut(),所以当第二个通知到来时 user-result
元素被隐藏。所以
$("#user-result").html("<font color ='#006600'> Logged in | Redirecting..</font>").show();
$("#user-result").html(data).show().delay( 2500 ).fadeOut( 800 );
是的,fadeout
隐藏消息容器的问题。在显示新消息之前,您必须返回容器:
$("#user-result").html("<font color ='#006600'> Logged in | Redirecting..</font>").show();
一旦任何元素淡出,它不会出现,直到页面重新加载或 fadeIn()
if(data == 1){
$("#user-result").html("<font color ='#006600'> Logged in | Redirecting..</font>").fadeIn("slow");
setTimeout(
function()
{
window.location.replace("index.php");
}, 1000);
}
else
{
$("#user-result").html(data).delay( 2500 ).fadeOut( 800 );
}
当数据==1时,使用fadeIn()
你需要使用setInterval(function(){});以便每次循环。
我已经创建了一个登录系统。通过 AJAX.
提交登录表单但是响应只显示第一次。 IE。假设我先输入了错误的凭据。响应显示。但是,当我再次输入新凭据时,它不会显示响应消息。抱歉,我对 JQuery 比较陌生。
下面是Jquery代码
<script type="text/javascript">
$(document).ready(function() {
var form = $('#loginform');
form.submit(function (ev) {
ev.preventDefault();
$.ajax({
type: form.attr('method'),
url: form.attr('action'),
cache: false,
data: form.serialize(),
success: function (data) {
if(data == 1){
$("#user-result").html("<font color ='#006600'> Logged in | Redirecting..</font>");
setTimeout(
function()
{
window.location.replace("index.php");
}, 1000);
}
else{
$("#user-result").html(data).delay( 2500 ).fadeOut( 800 );
}
}
});
});
});
</script>
我觉得可能是Fadeout的问题。有帮助吗?
由于您使用的是 fadeOut(),所以当第二个通知到来时 user-result
元素被隐藏。所以
$("#user-result").html("<font color ='#006600'> Logged in | Redirecting..</font>").show();
$("#user-result").html(data).show().delay( 2500 ).fadeOut( 800 );
是的,fadeout
隐藏消息容器的问题。在显示新消息之前,您必须返回容器:
$("#user-result").html("<font color ='#006600'> Logged in | Redirecting..</font>").show();
一旦任何元素淡出,它不会出现,直到页面重新加载或 fadeIn()
if(data == 1){
$("#user-result").html("<font color ='#006600'> Logged in | Redirecting..</font>").fadeIn("slow");
setTimeout(
function()
{
window.location.replace("index.php");
}, 1000);
}
else
{
$("#user-result").html(data).delay( 2500 ).fadeOut( 800 );
}
当数据==1时,使用fadeIn()
你需要使用setInterval(function(){});以便每次循环。