wicket用例:带有一些积极反馈的表单,例如忘记密码请求

wicket用例:带有一些积极反馈的表单,例如忘记密码请求,wicket,forms,Wicket,Forms,使用wicket制作表单以产生积极反馈信息的最佳实践是什么 示例:我有一个表单,用户可以在其中请求链接以更改忘记的密码。用户将此链接发送到其给定的电子邮件地址(与往常一样) 如果用户在表单中输入他的(有效)电子邮件地址并按下提交按钮,我想显示一条正面反馈消息,如:“更改密码的邮件将发送到您的邮件地址” 我看到以下选项可以执行此操作: 使用此消息的反馈面板(作为“信息”),但使用表单的反馈面板,表单仍然存在(可能处于活动状态),这不是很好 重定向到只显示此消息的页面。仅仅为这条信息创建一个新页面

使用wicket制作表单以产生积极反馈信息的最佳实践是什么

示例:我有一个表单,用户可以在其中请求链接以更改忘记的密码。用户将此链接发送到其给定的电子邮件地址(与往常一样)

如果用户在表单中输入他的(有效)电子邮件地址并按下提交按钮,我想显示一条正面反馈消息,如:“更改密码的邮件将发送到您的邮件地址”

我看到以下选项可以执行此操作:

  • 使用此消息的反馈面板(作为“信息”),但使用表单的反馈面板,表单仍然存在(可能处于活动状态),这不是很好

  • 重定向到只显示此消息的页面。仅仅为这条信息创建一个新页面不是很像wicket,是吗

  • 使用模态窗口。(但在这种情况下,这不符合我的设计。)


有什么想法吗?蒂亚

我认为这是关于你的设计愿景,而不是关于wicket

1) 在我们的应用程序中,我们通常使用模态窗口进行“密码恢复”表单,当用户提交此表单时,模态窗口关闭,javascript div出现(与另一个窗口类似,但带有静态)并通过ajax调用。也就是说,我们的基本页面html上有这样的div:


[此处消息]

一些javascript函数:

//将div显示为窗口的函数。
函数showNotification(消息){
var msg=消息;
$(“#对话框_窗口_p”).html(“”+msg+“”);
$(“#对话框_窗口a.w_关闭”).show();
$(“对话窗口”).fadeIn(300);
}
//将侦听器设置为关闭链接。也许你可以用普通的onclick=“…”,我不记得我们为什么这么做了。
$(文档).ready(函数(){
$(“#对话框_窗口a.w_关闭”)。单击(函数(){
$(“对话框窗口”)。淡出(300);
});
});
风格:

。消息对话框{
显示:无;
最大宽度:600px;
高度:自动;
填充:30px;
位置:绝对位置;
左:35%;
最高:35%;
边框:1px实心#9696;
边界半径:4px;
z指数:100000;
}
也许这有点笨拙,但我不擅长js和css。您还可以在会话中设置一些变量,例如
passwordRestored=true
,并在提交后重定向到主页。创建主页时,请检查此变量,如果它是
true
-显示此弹出窗口并将此变量设置回
false

2) 许多站点在用户提交到另一个页面后重定向用户,所以这种方法是可行的,但您也可以使用AJAX来隐藏表单,并通过成功消息(或反馈面板)显示隐藏的范围。要使用AJAX,您必须将提交
按钮
替换为需要重写onClick(AjaxRequestTarget)方法的“AjaxButton”。在这种方法中,您可以执行以下操作:

onClick(AjaxRequestTarget){
如果(提交正确)
{
form.setVisible(false);
successLabel.setVisible(true);
target.add(表单、成功标签);
}否则{…}
}
不要忘记设置
表单
成功标签
。setOutputMarkupPlaceholderTag(true)


3) 如果您不想使用这种方法—我认为唯一的方法是在表单中向用户索要电话号码,并在提交后向他发送短信:D

我使用类似的方法:)