【发布时间】:2017-04-03 12:55:45
【问题描述】:
我的站点管理员有一个登录按钮。如果单击该按钮,登录表单将通过以下 jQuery 代码从屏幕左侧“弹出”:
$(document).ready(function () {
$("#logpad").click(function () {
$('.menu').animate({
left: '100%'
}, 600);
});
所以基本上登录窗口始终存在于主页中,但在单击登录按钮之前隐藏,并且 jquery 通过将其动画向左 100%(全宽)强制它退出。
请原谅我的混淆名称,但在这种情况下,logpad 代表登录按钮,类“菜单”代表透明登录窗口,如下所示:
问题是,每当提供不正确的电子邮件/密码(在我的数据库中找不到凭据)时,页面都会刷新,您必须再次单击登录按钮才能看到相同的窗口,但带有额外的标签“您输入错误电子邮件或密码”,来自此 c# 代码(验证功能的一部分):
if (i > 0)
{
Turists turist = TuristsFacade.TuristsGetByEmailAndPassword(email, password);
if (turist.ID != -1)
{
Session["TuristName"] = turist.Name + " " + turist.SurName;
Response.Redirect("~/EN/index.aspx");
}
else
{
lblMessage.Text = "Your email or password is incorrect.";
lblMessage.ForeColor = Color.Red;
msg.Visible = true;
}
ds.Clear();
}
如何在不需要刷新页面的情况下验证表单(换句话说,是否可以直接验证,或者另一种选择是让透明窗口保持不变,以防提供不正确的凭据)。
【问题讨论】:
-
您可以为此在 jquery 中使用 ajax 并设置登录按钮类型 = 按钮和您的方法返回类型 json 返回。