Hi.
Concerning the problem with submitting forms in IE, I noticed that the
problem happens in the customizer, when using JSP :
If you customize a pane,  you click the "add pane" button, on the next
screen you chose a name for the new pane, and submit the form with the apply
button. If you click on the button with the mouse, no problem, but if you
enter the name and presse <enter>, there is no new pane. I'm pretty sure
it's the same problem since the inupt fiels has an eventSubmit.

> -----Original Message-----
> From: Pierre Henry 
> Sent: jeudi, 23. janvier 2003 17:17
> To: Jetspeed User List (E-mail)
> Subject: Tricky behavior with JSP portlet and forms
> 
> 
> I had a very strange behavior with my form in a JSP portlet. 
> I have 2 forms,
> one is submitted with a normal submit button, the other by a 
> Javascript. The
> one with javascript always works fine. For the other, when I 
> submitted it
> with the button, the corresponding action method (doUpdatefilter) was
> called, but when I submitted it by pressing the enter key, the
> buildNormalContext was called. (?!?!) This in IE5 and IE6.
> 
> I found out where it came from, I still post it in case other 
> people are
> experiencing it : 
> IE, depending on the method used to post the form, sends or 
> doesn't send the
> submit field (eventSubmit_doUpdatefilter=OK) in the 
> url/request headers. Of
> course if it doesn't send it, the default buildNormalContext 
> is called, else
> the corresponding method is called.
> 
> The solution seems to be to put the evenSubmit as a hidden 
> field with value
> 1 or whatever, and rename the submit to something else. This 
> works with
> IE5/6.
> 
> I also tried with Mozilla and here the behavior is different 
> : if the form
> uses POST, the buildNormalContext is always method is always 
> called (mo
> matter if I have a hidden ebentSubmit field or not) and if it 
> uses a GET,
> the right method is called, but the url is really ugly :)
> 
> Beside that, I tried hard to get this action working, and 
> this is what I
> found out, and this differs slightly but viciously from the tutorial :
> 
> - the form in the JSP doesn't need any action attribute
> 
> - the ony needed hidden field is js_peid which contains the 
> portlet's ID.
> 
> 
> When I put a hidden field for the action :            
> <INPUT TYPE="hidden" name="action" 
> value="CustomizableXsqlPortlet1Action">
> the right method was called  but the portlet argument of the 
> doUpdatefilter
> method was null, so the action class couldn't do much.
> 
> final working form :
> 
> <FORM METHOD=POST> put GET for Mozilla
>               <INPUT TYPE="text" NAME="find" value="2000%">
>               ... other data inputs  
>               <INPUT TYPE="hidden" name="eventSubmit_doUpdatefilter"
> value="1">
>               <INPUT TYPE="submit" name="go" value="OK">
>               <INPUT TYPE="hidden" NAME="js_peid"
> VALUE="P-f2dc3b8cfd-10001">
> </FORM>
> 
> Form submitted with JavaScript, IE only (I use this to make the column
> header clickable) :
> 
> <script type="text/javascript">
>               function columnHeaderSubmit(column){
>                       
> window.document.forms['sortForm'].sort.value=column;
>                       sortForm.submit();
>               }
> </script>
>       <form method=POST name="sortForm">
> 
>               <input TYPE="hidden" name="sort">
>               <input TYPE="hidden" name="eventSubmit_doUpdatesortcol"
> value="1">            
>               <input TYPE="hidden" NAME="js_peid"
> VALUE="P-f2dc3b8cfd-10001">
>       </form>
> <table cellpadding=4>
>       <tr>
>               <th><a
> href="javascript:columnHeaderSubmit('PERIOD')">P�riode</a></th>
>               <th><a
> href="javascript:columnHeaderSubmit('SUBSET')">Sous-Ensemble</a></th>
>               etc...
> 
> 
> 
> I hope this can help...
> 
> Comments/corrections welcome !
> 
> Pierre Henry
> 

Reply via email to