Check Prototype out, here is a good tutorial: http://www.sergiopereira.com/articles/prototype.js.html, basically what you need is something like:

|**var myAjax = new Ajax.Request(
url, { method: 'get', parameters: Form.serialize("formid"), onComplete: function() {
                                    //do something here, or not :)
                                }
                        });**|

regards
musachy

Christopher Loschen wrote:
I'm not all that familiar with JS, to be honest, and I've never had the
chance to use Ajax (but want to learn). What I have now is working, but
I'd be happy to learn how to do it without refreshing the page -- that
does seem like a more elegant solution to me. What do you suggest? We do
use JS for our app, but no JS framework as such as far as I can tell.
Chris

-----Original Message-----
From: Musachy Barroso [mailto:[EMAIL PROTECTED] Sent: Thursday, February 08, 2007 8:03 AM
To: Struts Users Mailing List
Subject: Re: Struts action call in a JS method returns blank page

Like I said before you can use Ajax to submit the form, and the page
won't
refresh, how to do it depends on what JS framework you are using, if
any.

regards
musachy

On 2/8/07, Christopher Loschen <[EMAIL PROTECTED]> wrote:
Yes, you're right that the form submit was causing the system to
forward
to whatever the action said, which in my case was the blank page.
You'll see
from the later emails in the thread yesterday that I solved that by
forwarding to the action which populated the original page.

I need the form.submit because I need to get the checked boxes from
the
form and I need to call the action specified in the action attribute
on that
form in order to put those checkbox values into the request in the
form that
my downstream code needs.

Submitting the form is the only way I know to get the form values the
user
submits from the HTML page to my Java code -- are you saying that I
have
other alternatives?

Chris

________________________________

From: Yee Kai Lai [mailto:[EMAIL PROTECTED]
Sent: Thu 2/8/2007 12:24 AM
To: user@struts.apache.org
Subject: RE: Struts action call in a JS method returns blank page




It returns a blank page might be due to

form.submit(); in your JS.

I think if you have a form named
'service.device.selected-devices-form'
then
it will never be null hence it will always submit.

May you could enlightened why u need a form.submit() ?


From: "Christopher Loschen" <[EMAIL PROTECTED]>
Reply-To: "Struts Users Mailing List" <user@struts.apache.org>
To: <user@struts.apache.org>
Subject: Struts action call in a JS method returns blank page
Date: Wed, 7 Feb 2007 14:14:35 -0500

Hi all,



I'm honestly unsure if I'm having a problem with Struts (sadly, 1.1)
or
with Javascript, or something else. But my best guess is it's a
Struts
issue, and anyway, there are a lot of very knowledgeable people on
both
of those technologies here, so I hope someone can help. Bottom line:
I'm
getting the popup with the correct values, but my main page under the
popup becomes blank.



I'm adding some functionality to an existing application. The
functionality I'm adding takes the values from some checkboxes on
page
A, gets the corresponding devices from the checkbox values, and saves
the resulting List into the request. Later down the stream, other
code
gets those values again and uses them as a list of devices on which
to
perform an action. Pretty straightforward.



All of the actual navigation is happening via Javascript calls,
starting
with a link on page A, but outside the form where my checkboxes are
declared. That link fires a Javascript function which pops up a small
window with a list of actions which have been defined. If the user
then
clicks on one of those actions, another Javascript function fires
which
pops up another window to confirm that the user wants to perform the
selected action on the selected devices.



I have inserted my added functionality into that second script.
Basically I need to submit the appropriate form on the page. I've
defined it with the correct action and I've got a mapping in my
struts-config.xml file:



    <form-bean

     name="service.device.selected-devices-form"

     type="com.xxx.webapp.common.CheckboxForm"/>

...

    <action path="/service/device/actions/store-selected-devices"


type="com.xxx.webapp.service.list.StoreSelectedDevicesAction"

            name="service.device.selected-devices-form" />



The mapping doesn't have any action forwards defined because it
doesn't
actually need to go anywhere (though that might be part of my
problem).
The JS function looks like this:



function popActionConfirm(url) {



  var form = document.forms['service.device.selected-devices-form'];

  if (form!=null) form.submit();



  var winl = (screen.width - 500) / 2;



  var wint = (screen.height - 350) / 2;



    winprops =
'height=250,width=375,top='+wint+',left='+winl+',scrollbars=0,resizable
=
0';



  var child = window.open(url,"action_confirm", winprops);



  self.name="main_window";



}



I added the first two lines of the JS method - it worked correctly
before I put those in (though of course it didn't have my added
functionality in place). The popup window does appear, and it has the
correct values in it (that is, the devices which were selected). But
the
main window goes blank where before it remained unchanged. When I've
seen blank pages like this before, it meant there was a bad action
forward in the struts-config file, but I don't want the main page to
change at all, so what I really want is for the main page to just
stay
in place as it was before the form was submitted.



How do I go about doing that? Thanks!



Chris Loschen





_________________________________________________________________
Receive MSN Hotmail alerts over SMS!
http://en-asiasms.mobile.msn.com/ac.aspx?cid=1002


---------------------------------------------------------------------
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