【问题标题】:Simple way to reload page with form data filled with previous data用以前的数据填充表单数据重新加载页面的简单方法
【发布时间】:2012-08-12 12:43:48
【问题描述】:

我有一个带有验证码图像的简单注册页面,并且我为用户提供了获取不同验证码图像的选项。起初我只是尝试重新加载页面,这给了我一个新的验证码图像,但不幸的是,表单随后被清除,这对用户来说是不可接受的和烦人的。

你会如何解决这个问题?如果我从“新图像”链接提交表单,检票口发布过程将在到达我的 onSubmit 函数之前返回各种验证错误,这也是不好的行为。

我想我也可以添加验证码图像的 ajax 部分重新加载,尽管这是一个更复杂的解决方案。任何指向一个好的和干净的解决方案的指针都会很好。

【问题讨论】:

    标签: java html forms wicket


    【解决方案1】:

    您可以在“新图片”链接中提交表单,方法是将其设为Button[Ajax]SubmitLink。然后,您可以通过在该链接上调用 setDefaultFormProcessing(false) 来跳过 所有内容,但链接的 onSubmit 方法:

    checkForm.add(new SubmitLink("submit") {
        @Override
        public void onSubmit() {
            super.onSubmit();
            // ...new captcha here...
        }
    }.setDefaultFormProcessing(false));
    

    这将导致所有内容都被提交(并为下一次渲染保留),但它会跳过值的转换、验证和模型更新。

    【讨论】:

    • 完美,效果很好。感谢您的快速回答!
    猜你喜欢
    • 1970-01-01
    • 2010-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-11
    • 2020-11-24
    • 2020-12-01
    • 2012-05-14
    相关资源
    最近更新 更多