The "targets" won't be updated if they are in another frame, you can do
something like this:
<s:submit theme="ajax" notifyTopics="/updateIframe" />
<script>
dojo.event.topics.subscribe("/updateIframe", function(data, type, e) {
if(type == "load") {
//use iframe index or name here
window.iframe[0].document.getElementById("divId").innerHTML = data;
}
});
</script>
musachy
On 4/24/07, Harring Figueiredo <[EMAIL PROTECTED]> wrote:
Hmmmm... I sm not sure I understood. Maybe the generated code is different
for:
<form target="someT" ..?
then for :
<s:submit targets="someT" />
???
If the target is used on the form, it does reference and update the right
form (But I have to IFrames that I need to update and that is the reason I
am using the <s:submit :->.
Harring.
On 4/24/07, Musachy Barroso <[EMAIL PROTECTED]> wrote:
>
> I think that's why it doesn't work, the ajax theme uses
> getElementBydId(id)
> (actually dojo.byId(), anyway) which returns the element in the current
> document, for an iframe it should be
> window.frames[0].document.getElementById(...).
> You can use the notifyTopics attribute and do it yourself inside the
> topic.
>
> regards
> musachy
>
> On 4/24/07, Harring Figueiredo <[EMAIL PROTECTED]> wrote:
> >
> > This is the generated code:
> >
> > <td colspan="2"><div align="right"> <input type="submit"
> > dojoType="struts:Bind" event="onclick" value="Save"
> > id="member_login_button_save" label="Save" name="
> button.save"
> > targets="RightPaneWindow" />
> >
> > </div>
> >
> >
> > The div is on a different IFrame.
> >
> > Harring
> >
> > On 4/24/07, Harring Figueiredo <[EMAIL PROTECTED]> wrote:
> > >
> > >
> > > Musachy,
> > >
> > > Thanks for the reply.
> > >
> > > I am using only one div with the id.
> > >
> > > I now tried something else while waiting for the reply:
> > >
> > > <s:set name"frame" value="LoginWindow"/>
> > > <s:if test="hasActionErrors">
> > > <s:set name"frame" value="RightPaneWindow"/>
> > > </s:if>
> > >
> > > I then tried to replace the "traget" on the form itself (since it
> works
> > on
> > > the form) with:
> > > <s:form action="member_login.action" theme="ajax" target="#frame"
> > > validate="true">
> > > and also tried with
> > > <s:form action="member_login.action" theme="ajax" target="<s:param
> > > name='value' value='#frame' " validate="true">
> > >
> > > Howver I cannot get the rigyht syntax to substitue the correct
string.
> > >
> > > I think that it would work both ways.. But I would prefer to get the
> > > ajax/targets working.
> > >
> > > Harring
> > >
> > > On 4/24/07, Musachy Barroso <[EMAIL PROTECTED]> wrote:
> > > >
> > > > After the ajax request completes, for each target in the target
list
> > > > this
> > > > will run:
> > > >
> > > > dojo.byId("id").innerHTML = text;
> > > >
> > > > try updating the div content like that, and see what happens. This
> is
> > a
> > > > dumb
> > > > question, but are you using the same id for more than one div?
> > > >
> > > > musachy
> > > >
> > > > On 4/24/07, Harring Figueiredo <[EMAIL PROTECTED]> wrote:
> > > > >
> > > > > Folks,
> > > > >
> > > > > I have a form with a submit button as follows
> > > > >
> > > > > <s:form action="member_login.action" theme="ajax"
validate="true">
> > > > > <s:textfield key="username" />
> > > > > <s:password key="password" showPassword="false"/>
> > > > > <s:submit key="button.save" theme="ajax"
> > targets="RightPaneWindow"
> > > > />
> > > > > <s:reset key=" button.reset"/>
> > > > > </s:form>
> > > > >
> > > > > On the page itself, I have an IFrame with the
> div="RightPaneWindow";
> > > > > however, the updated div is the div in which the form is in.
> > > > >
> > > > > Any idea?
> > > > >
> > > > > Thank you in advance,
> > > > >
> > > > > Harring Figueiredo
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > "Hey you! Would you help me to carry the stone?" Pink Floyd
> > > >
> > >
> > >
> > >
> >
>
>
>
> --
> "Hey you! Would you help me to carry the stone?" Pink Floyd
>
--
Sincerely,
Harring Figueiredo
Sr. Software Engineer
Email: [EMAIL PROTECTED]
Telephone: 941-256-0600
"We never become truly spiritual by sitting down and wishing to become so.
You must undertake something so great that you cannot accomplish it
unaided."
--
"Hey you! Would you help me to carry the stone?" Pink Floyd