我认为这是关于你的设计愿景,而不是检票口。
1) 在我们的应用程序中,我们通常使用模态窗口作为“密码恢复”表单,当用户提交此表单时,模态窗口将关闭并出现通过 ajax 调用的 javascript div(类似于另一个窗口,但具有静态)。 IE。我们的基本页面 html 上有这样的 div:
<div class="message-dialog" id="dialog_window">
<p id="dialog_window_p">[MESSAGE HERE]</p>
<a class="w_close"></a>
</div>
一些javascript函数:
//function to show div as window.
function showNotification(message) {
var msg = message;
$("#dialog_window_p").html('<span>' + msg + '</span>');
$('#dialog_window a.w_close').show();
$("#dialog_window").fadeIn(300);
}
//set listener to close link. may be you could use plain onclick="..", can't remember why we done so.
$(document).ready(function() {
$("#dialog_window a.w_close").click( function(){
$("#dialog_window").fadeOut(300);
});
});
和风格:
.message-dialog {
display:none;
max-width: 600px;
height: auto;
padding: 30px;
position: absolute;
left: 35%;
top: 35%;
border: 1px solid #969696;
border-radius: 4px;
z-index: 100000;
}
可能这有点笨拙,但我不擅长js和css。您还可以在会话中设置一些变量,例如passwordRestored = true,并在提交后重定向到主页。创建主页时,请检查此 var 是否为 true - 显示此弹出窗口并将此 var 设置回 false。
2) 许多网站在用户提交到另一个页面后将其重定向,因此这种方法是可行的,但您也可以使用 AJAX 来隐藏表单并显示成功消息(或反馈面板)的隐藏范围。要使用 AJAX,您必须将您提交的 Button 替换为需要覆盖 onClick(AjaxRequestTarget target) 方法的“AjaxButton”。在这种方法中,您可以执行以下操作:
onClick(AjaxRequestTarget target) {
if (submitionCorrect)
{
form.setVisible(false);
successLabel.setVisible (true);
target.add (form, successLabel);
} else {...}
}
别忘了设置form 和successLabel .setOutputMarkupPlaceholderTag (true)。
3)如果您不想使用这种方法之一 - 我看到的唯一方法是在您的表单中向用户询问电话号码并在提交后向他发送短信:D