Thanks Musachy. I changed the success action forward to point to the original page (or really the action which creates that page) and that works, though it does rebuild the page, which is unfortunate overhead. But it does do what I need to do, so I'm happy.
Thank you. Chris -----Original Message----- From: Musachy Barroso [mailto:[EMAIL PROTECTED] Sent: Wednesday, February 07, 2007 2:30 PM To: Struts Users Mailing List Subject: Re: Struts action call in a JS method returns blank page When you post the form, after the action, struts will send a response, usually a page. Because you don't want to change the current page, you could do this by making an asynchronous request. I'm probably wrong, but I don't think you can make a post, and stay on the same page (unless you are returning the same page from the action of course). regards musachy Christopher Loschen wrote: > 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 > > > > > > > --------------------------------------------------------------------- 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]