【问题标题】:Wicket multiuploadField Auto submitWicket multiuploadField 自动提交
【发布时间】:2016-07-01 03:12:29
【问题描述】:

我在 wicket 项目中创建了一个 multiuploadField 对象,它允许在单击提交按钮后选择文件并提交文件。但是我想在用户选择文件后自动提交表单并上传文件而不单击提交按钮。是否有可能做到这一点?有什么方法可以使用 onChange 事件或其他任何方法。

<form wicket:id="simpleUpload">
            <fieldset>
                <legend>Upload form</legend>
                <p>
                <div wicket:id="fileInput" class="mfuex" />
                </p>
               <input type="submit" value="Upload!" />
            </fieldset>
</form>

提前致谢。

【问题讨论】:

    标签: java wicket multi-upload


    【解决方案1】:

    是的,您必须将AjaxFormSubmitBehaviorchange 事件一起用于文件输入字段。

    如我所见,您使用的是MultiFileUploadField,所以只需添加:

    fileInput.add ( new AjaxFormSubmitBehavior(form/*optional*/, 'change') 
                    {
                       @Override
                       protected void onSubmit ( AjaxRequestTarget target )
                       {
                          super.onSubmit ( target );
                       }
                       /* you can also override other methods here, 
                          but note that Form's submit method will
                          be called too.*/
                    } );
    

    fileInput 是文件上传字段,form 是存储字段的表单。如果没有发生提交事件,则检查onError 方法是否您的表单有一些验证。

    请注意,每次您从系统文件选择器中选择文件时都会调用此行为。 MultiFileUploadField 不允许同时选择多个文件。只能一一添加。

    要一次选择一些文件,您可以使用FileUploadField 和HTML5 标签multiple,因此您的标记将如下:

    <input wicket:id="fileInput" type="file" multiple="multiple"/>
    

    它只适用于 HTML5,对于其他版本,它只允许加载一个文件,但上述提交方法也适用于此。

    更新

    实际上我已经为您描述了大部分内容here。您应该以某种方式做出反应,接受答案或描述为什么这不能解决您的问题。

    【讨论】:

    • 您好,感谢您的宝贵时间和回复。实际上我有这个检票口多次上传工作正常,但我不想为此单独提交按钮。当用户点击上传按钮时,它应该在选择文件时自动提交。但我仍然对在我的 java 代码中使用上述代码感到困惑。
    • @user2840965,是的,我已经意识到这一点并建议您使用AjaxFormSubmitBehavior。您只需将其添加到文件上传字段并从标记中删除提交按钮。 Form将在用户选择文件后提交。
    • 谢谢迈克尔,我会试试看的。
    • @user2840965,如果它不适合你,请告诉我。
    • 最后一个原因:null WicketMessage:无法使用构造函数“public com.mycompany.HomePage(org.apache.wicket.request.mapper.parameter.PageParameters)”和参数“”来实例化页面。抛出异常
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-15
    • 2018-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多