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] > > > > -- "Hey you! Would you help me to carry the stone?" Pink Floyd --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]