【发布时间】:2011-01-13 06:56:09
【问题描述】:
我正在使用 JQuery 和 C#。
我在单击登录链接时打开一个 JQuery 模式对话框。然后我提交完整的表单,表单操作更改为我的 /login.aspx 页面,在 15 秒内我正在显示 ajax 处理图像,在 login.aspx 页面上我验证用户输入的用户名和密码。可能有两种情况
1) 用户输入有效的用户名和密码,在这种情况下,在我的 /login.aspx 页面上验证后,我再次重定向回单击登录链接的同一页面,此功能与我当前的页面一样工作正常再次重新加载。
2) 但是,当用户输入错误的用户名和密码时,我将用户保留在 /login.aspx 页面上(请注意,我不会重定向回用户单击登录链接的页面)。现在的问题是,当用户输入错误的用户名和密码时 /login.aspx 会出现,但是如果用户在两者之间单击浏览器后退按钮,那么我的对话框将显示为打开状态,因为我已将超时设置为 15 秒。一旦用户输入错误的用户名和密码,我想关闭对话框。
下面是我打开对话框的 Jquery 代码。
$('#skywardsLogin').dialog({
autoOpen: true,
width: 450,
modal: true,
title: $('.LoginpopupHeaderText').text()
});
在这里,我正在尝试提交表单并更改表单操作,并且显示 ajax 处理图像的超时时间为 15 秒。
$("#aspnetForm").attr("action", "http://localhost:8080/english/include/aspx/Login.aspx");
$("#aspnetForm").submit();
$('#divSuccessLogin').show();
// Wait for 15 seconds
setTimeout(closeDialog, 15000);
CloseDailog 代码如下。
function closeDialog()
{
$('#skywardsLogin').dialog("close");
}
我正在努力关闭我的对话框,因为显示 ajax 处理图像的超时时间为 15 秒。请建议
【问题讨论】:
-
有什么问题?你在挣扎什么? closeDialog 是否被调用?
-
一切正常如果我是一个相同的页面对话框正在正常关闭,但是当用户输入错误的用户名和密码时,根据我的 login.aspx 代码中编写的代码,它将驻留在login.aspx 页面,否则它将被重定向回单击登录链接的同一页面,我担心的是我使用 15 秒超时来显示 ajax 处理图像,如果用户输入了错误的值并且他点击了浏览器后退按钮我的对话框仍然显示 ajax 处理图像,因为超时时间为 15 秒,15 秒后它关闭。
-
有点混乱。你为什么使用计时器?为什么不点击登录时只显示对话框(没有计时器)?