>What is the benefit of the hidden frame?
Just allows you to do things "behind the scenes" so you avoid the
frustrating UI page reload

cheers,

David



|---------+---------------------------->
|         |           Bill Siggelkow   |
|         |           <[EMAIL PROTECTED]|
|         |           th.net>          |
|         |           Sent by: news    |
|         |           <[EMAIL PROTECTED]|
|         |           rg>              |
|         |                            |
|         |                            |
|         |           09/02/2004 02:05 |
|         |           PM               |
|         |           Please respond to|
|         |           "Struts Users    |
|         |           Mailing List"    |
|         |                            |
|---------+---------------------------->
  
>------------------------------------------------------------------------------------------------------------------------|
  |                                                                                    
                                    |
  |       To:       [EMAIL PROTECTED]                                                  
                               |
  |       cc:                                                                          
                                    |
  |       Subject:  Re: dynamically change the dropdown list from a database...        
                                    |
  
>------------------------------------------------------------------------------------------------------------------------|




What is the benefit of the hidden frame? I guess that you can submit an
entire form ... however, most of the time I only need to drop an ID as a
request parameter.  I dynamically populate select lists like this:

Use an onchange or onclick JavaScript listener to call a JavaScript
function that submits the form to a Struts Action. In the Action,
perform the necessary business logic to construct a new collection for
the select options, then forward control back to the original JSP page.
Example 3-11 shows a JSP page that submits the form to an Action when
the user clicks a radio button. The value of the radio button is passed
to the Action as a request parameter.

Example 3-11. Submitting a form using JavaScript
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<html>
<head>
   <title>Struts ? JavaScript Example</title>
   <script language="JavaScript">
      function getOptions(control) {
         form = control.form;
         form.action = "SetOptions.do?someProp=";
         form.action += control.value;
         form.submit();
      }
    </script>
</head>
<body>
   <html:form action="ProcessMyForm">
       <html:radio property="someProp1" value="val1"
                    onclick="getOptions(this);"/> Value 1<br/>
       <html:radio property="language" value="val2"
                    onclick="getOptions(this);"/> Value 2<br/>
       SomeProp2:
       <html:select property="someProp2">
          <html:optionsCollection property="prop2Values"/>
       </html:select>
       </p>
       <html:submit/>
   </html:form>
</body>
</html>

Bill Siggelkow

[EMAIL PROTECTED] wrote:

> Don't have any code handy, but it's quite straightforward:
>
> - create a hidden frame
> - on the select's onchange() do a submit on a form in the hidden frame to
> an action that gets the information from the database, passing in the
> relevant parameter
> - have the action forward to a jsp which is just a javascript call to
> update the other select box - probably easiest just to delete the select
> box options, iterate through the through the collection returned and for
> each one create a javascript call on the other frame that adds an option
> for it
>
> let me know if you have any qu's.
>
> cheers,
>
> David


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to