You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Igor Vaynberg (JIRA)" <ji...@apache.org> on 2010/08/25 02:23:18 UTC

[jira] Resolved: (WICKET-2523) FileUploadField component blocks component and form submission using Firefox when an empty file is selected

     [ https://issues.apache.org/jira/browse/WICKET-2523?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Igor Vaynberg resolved WICKET-2523.
-----------------------------------

      Assignee: Igor Vaynberg
    Resolution: Cannot Reproduce

tried with 1.4.10 and could not repro on windows+ffox

> FileUploadField component blocks component and form submission using Firefox when an empty file is selected
> -----------------------------------------------------------------------------------------------------------
>
>                 Key: WICKET-2523
>                 URL: https://issues.apache.org/jira/browse/WICKET-2523
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 1.4.2
>         Environment: Operating system: Microsoft Windows XP Media Center Edition Version 2002 Service Pack 3
> NetBeans development, build and run environment is:
>   Product Version: NetBeans IDE 6.7 (Build 200906241340)
>   Java: 1.6.0_15; Java HotSpot(TM) Client VM 14.1-b02
>   System: Windows XP version 5.1 running on x86; Cp1252; en_GB (nb)
>   Userdir: C:\Documents and Settings\Ian\.netbeans\6.7
>   Wicket plug-ins used:
>     Wicket as a library
>       Version: 1.4
>       Description: Wicket 1.4 RC1 Library
>       Wicket .jar file manually updated after plug-in installation to use "wicket-1.4.2.jar" instead.
>     Wicket Support:
>       Version: 0.15
>     Wicket File Templates:
>       Version: 1.1
>   Web server: Apache Tomcat 6.0.18
> Web browser: Mozilla Firefox (Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)).
> Note: when using Microsoft Internet Explorer 8 (version 8.0.6001.18702) all works fine and an empty file does not block processing in any way. This issue submission is based on using Firefox only.
>            Reporter: Ian Marshall
>            Assignee: Igor Vaynberg
>            Priority: Minor
>
> I have a FileUploadField component in a form. When a file of size zero is selected using the component's integral "Browse..." button, and then one of the owning form's submit buttons is clicked, neither that button's nor the form's overridden onSubmit() methods is called. The form becomes unsubmissible. Something happens on the browser (Mozilla Firefox) since the waiting dots appear for a brief moment, but no change is apparent to me on the browser.
> If a non-empty file is subsequently selected using the FileUploadField component's "Browse..." button, then normal onSubmit() functionality is restored.
> The method Form#onFormSubmitted() method is not called upon clicking a submit button if the FileUploadField field has an empty file selected.
> HTML code
> ----------
>   <form wicket:id="frmForm">
>     <input wicket:id="fufUploadImage" type="file" size="40" tabindex="3"/>
>     <input type="submit" wicket:id="btnUpload" value="<---  Upload file" tabindex="4"/>
>     <input type="submit" wicket:id="btnOK" value="OK" tabindex="101"/>
>     <input type="submit" wicket:id="btnCancel" value="Cancel" tabindex="102"/>
>   </form>
> Java code
> ----------
> public final class PageItem extends PageBase    \\ PageBase descends from WebPage
> {
>   private static final long serialVersionUID = 1L;
>   public enum ItemMode
>   {
>     Create, Edit, View, Delete
>   };
>   private class PageItemData implements Serializable
>   {
>     private static final long serialVersionUID = 1L;
>     public FileUpload fufUploadImage = null;
>     ...
>     public PageItemData()
>     {
>       // This initialisation is required by the Serializable interface
>       fufUploadImage = null;
>     ...
>     }
>   }
>   private static final Bytes G_BY_MAX_SIZE_FILE_UPLOAD = Bytes.megabytes(1);
>   private PageItemData g_pidData = null;
>   public PageItem()
>   {
>     this(ItemMode.Create, null);
>   }
>   @SuppressWarnings({"fallthrough", "unchecked"})
>   private PageItem(final ItemMode imMode, PageItemData pidData)
>   {
>     super();
>     if (pidData != null)
>       g_pidData = pidData;
>     else
>       g_pidData = new PageItemData();
>     Form frmForm = new Form("frmForm")
>     {
>       private static final long serialVersionUID = 1L;
>       @Override
>       protected void onSubmit()
>       {
>         ...
>         //
>         // Persist the item data here...
>         //
>       }
>     };
>     frmForm.setMultiPart(true);    // To enable file uploading
>     frmForm.setMaxSize(G_BY_MAX_SIZE_FILE_UPLOAD);
>     frmForm.setModel(new CompoundPropertyModel(g_pidData));
>     add(frmForm);
>     final FileUploadField fufUploadImage =
>      new FileUploadField("fufUploadImage");
>     frmForm.add(fufUploadImage);
>     Button btnUpload = new Button("btnUpload")
>     {
>       private static final long serialVersionUID = 1L;
>       @Override
>       public void onSubmit()
>       {
>          ...
>       }
>     };
>     btnUpload.setDefaultFormProcessing(false);
>     frmForm.add(btnUpload);
>     Button btnOK = new Button("btnOK");
>     frmForm.add(btnOK);
>     Button btnCancel = new Button("btnCancel")
>     {
>       private static final long serialVersionUID = 1L;
>       @Override
>       public void onSubmit()
>       {
>         ...
>         setResponsePage(PageHome.class);
>       }
>     };
>     btnCancel.setDefaultFormProcessing(false);
>     frmForm.add(btnCancel);
>   }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.