You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by "Hunsberger, Peter" <Pe...@stjude.org> on 2002/09/18 17:27:54 UTC

Invoking Cocoon actions via JavaScript

One of our developers has run into an issue that I can't see an easy
solution to.  However, I also can't believe that no one else has run into
the problem.

We have a form where we are using IE 5.5 (and above) DHTML to enable drop
and drag editing to reorder fields.  As the result of a drop, we determine
some positional values, place these values into the form and then attempt to
submit the form to the server where the values will be placed in a database.
In order to submit the form, the JavaScript code has to invoke the proper
HTML action for the form, which is named using the Cocoon standard
"cocoon-action-xxxx" format.  Since JavaScript attempts to resolve the
action name as an JavaScript object it eventually turns a string of this
format into three object names separated by  two minus signs and
subsequently blows up trying to subtract non-existent JavaScript objects
from each other.

One obvious fix would be to change Cocoon to not use "-" in the action
names. Given that this would break just about every Cocoon implementation in
the world I'm hoping that someone has run into this before and found a work
around on the JavaScript side of the world?

Peter Hunsberger

Phone: 901-495-5252
E-mail: Peter.Hunsberger@stjude.org


---------------------------------------------------------------------
Please check that your question  has not already been answered in the
FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>

To unsubscribe, e-mail:     <co...@xml.apache.org>
For additional commands, e-mail:   <co...@xml.apache.org>


RE: Invoking Cocoon actions via JavaScript

Posted by Per Kreipke <pe...@onclave.com>.
> >Another thought:
> >
> >var action_xxx = eval("document.formName.cocoon-action-xxx");
> >
> 
> Won't something like 
> 
> document.formName['cocoon-action-xxx'] work? :-?

That's right. 

document.anycollectionname["objectname"] should work.

document.all, document.forms, ....


---------------------------------------------------------------------
Please check that your question  has not already been answered in the
FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>

To unsubscribe, e-mail:     <co...@xml.apache.org>
For additional commands, e-mail:   <co...@xml.apache.org>


Re: Invoking Cocoon actions via JavaScript

Posted by Vadim Gritsenko <va...@verizon.net>.
Robert Koberg wrote:

>Another thought:
>
>var action_xxx = eval("document.formName.cocoon-action-xxx");
>

Won't something like 

document.formName['cocoon-action-xxx'] work? :-?


IIRC, javascript had syntax like this...

Vadim


>-Rob
>
>  
>
>>-----Original Message-----
>>From: Robert Koberg [mailto:rob@koberg.com]
>>Sent: Wednesday, September 18, 2002 8:58 AM
>>To: cocoon-users@xml.apache.org
>>Subject: RE: Invoking Cocoon actions via JavaScript
>>
>>
>>Hi,
>>
>>You could loop over the form's element array, use a switch statement
>>and use the
>>name string as a case match to set up your action input element objs in some
>>kind of body onload init function.
>>
>>var action_xxx;
>>var action_yyy;
>>var elems = frmObj.elements;
>>for (var i=0; i<elems.length; i++) {
>>switch (elems[i].name)
>>case "cocoon-action-xxx":
>>  action_xxx = elems[i];
>>case "cocoon-action-yyy":
>>  action_yyy = elems[i];
>>}
>>}
>>
>>best,
>>-Rob
>>
>>    
>>
>>>-----Original Message-----
>>>From: Hunsberger, Peter [mailto:Peter.Hunsberger@stjude.org]
>>>Sent: Wednesday, September 18, 2002 8:28 AM
>>>To: 'cocoon-users@xml.apache.org'
>>>Subject: Invoking Cocoon actions via JavaScript
>>>
>>>
>>>One of our developers has run into an issue that I can't see an easy
>>>solution to.  However, I also can't believe that no one else has run into
>>>the problem.
>>>
>>>We have a form where we are using IE 5.5 (and above) DHTML to enable drop
>>>and drag editing to reorder fields.  As the result of a drop, we determine
>>>some positional values, place these values into the form and then attempt to
>>>submit the form to the server where the values will be placed in a database.
>>>In order to submit the form, the JavaScript code has to invoke the proper
>>>HTML action for the form, which is named using the Cocoon standard
>>>"cocoon-action-xxxx" format.  Since JavaScript attempts to resolve the
>>>action name as an JavaScript object it eventually turns a string of this
>>>format into three object names separated by  two minus signs and
>>>subsequently blows up trying to subtract non-existent JavaScript objects
>>>from each other.
>>>
>>>One obvious fix would be to change Cocoon to not use "-" in the action
>>>names. Given that this would break just about every Cocoon implementation in
>>>the world I'm hoping that someone has run into this before and found a work
>>>around on the JavaScript side of the world?
>>>
>>>Peter Hunsberger
>>>
>>>Phone: 901-495-5252
>>>E-mail: Peter.Hunsberger@stjude.org
>>>
>>>      
>>>




---------------------------------------------------------------------
Please check that your question  has not already been answered in the
FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>

To unsubscribe, e-mail:     <co...@xml.apache.org>
For additional commands, e-mail:   <co...@xml.apache.org>


RE: Invoking Cocoon actions via JavaScript

Posted by Robert Koberg <ro...@koberg.com>.
Another thought:

var action_xxx = eval("document.formName.cocoon-action-xxx");

-Rob

> -----Original Message-----
> From: Robert Koberg [mailto:rob@koberg.com]
> Sent: Wednesday, September 18, 2002 8:58 AM
> To: cocoon-users@xml.apache.org
> Subject: RE: Invoking Cocoon actions via JavaScript
>
>
> Hi,
>
> You could loop over the form's element array, use a switch statement
> and use the
> name string as a case match to set up your action input element objs in some
> kind of body onload init function.
>
> var action_xxx;
> var action_yyy;
> var elems = frmObj.elements;
> for (var i=0; i<elems.length; i++) {
> switch (elems[i].name)
> case "cocoon-action-xxx":
>   action_xxx = elems[i];
> case "cocoon-action-yyy":
>   action_yyy = elems[i];
> }
> }
>
> best,
> -Rob
>
> > -----Original Message-----
> > From: Hunsberger, Peter [mailto:Peter.Hunsberger@stjude.org]
> > Sent: Wednesday, September 18, 2002 8:28 AM
> > To: 'cocoon-users@xml.apache.org'
> > Subject: Invoking Cocoon actions via JavaScript
> >
> >
> > One of our developers has run into an issue that I can't see an easy
> > solution to.  However, I also can't believe that no one else has run into
> > the problem.
> >
> > We have a form where we are using IE 5.5 (and above) DHTML to enable drop
> > and drag editing to reorder fields.  As the result of a drop, we determine
> > some positional values, place these values into the form and then attempt to
> > submit the form to the server where the values will be placed in a database.
> > In order to submit the form, the JavaScript code has to invoke the proper
> > HTML action for the form, which is named using the Cocoon standard
> > "cocoon-action-xxxx" format.  Since JavaScript attempts to resolve the
> > action name as an JavaScript object it eventually turns a string of this
> > format into three object names separated by  two minus signs and
> > subsequently blows up trying to subtract non-existent JavaScript objects
> > from each other.
> >
> > One obvious fix would be to change Cocoon to not use "-" in the action
> > names. Given that this would break just about every Cocoon implementation in
> > the world I'm hoping that someone has run into this before and found a work
> > around on the JavaScript side of the world?
> >
> > Peter Hunsberger
> >
> > Phone: 901-495-5252
> > E-mail: Peter.Hunsberger@stjude.org
> >
> >
> > ---------------------------------------------------------------------
> > Please check that your question  has not already been answered in the
> > FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>
> >
> > To unsubscribe, e-mail:     <co...@xml.apache.org>
> > For additional commands, e-mail:   <co...@xml.apache.org>
> >
>
>
>
> ---------------------------------------------------------------------
> Please check that your question  has not already been answered in the
> FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>
>
> To unsubscribe, e-mail:     <co...@xml.apache.org>
> For additional commands, e-mail:   <co...@xml.apache.org>
>



---------------------------------------------------------------------
Please check that your question  has not already been answered in the
FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>

To unsubscribe, e-mail:     <co...@xml.apache.org>
For additional commands, e-mail:   <co...@xml.apache.org>


RE: Invoking Cocoon actions via JavaScript

Posted by Robert Koberg <ro...@koberg.com>.
Hi,

You could loop over the form's element array, use a switch statement and use the
name string as a case match to set up your action input element objs in some
kind of body onload init function.

var action_xxx;
var action_yyy;
var elems = frmObj.elements;
for (var i=0; i<elems.length; i++) {
switch (elems[i].name)
case "cocoon-action-xxx":
  action_xxx = elems[i];
case "cocoon-action-yyy":
  action_yyy = elems[i];
}
}

best,
-Rob

> -----Original Message-----
> From: Hunsberger, Peter [mailto:Peter.Hunsberger@stjude.org]
> Sent: Wednesday, September 18, 2002 8:28 AM
> To: 'cocoon-users@xml.apache.org'
> Subject: Invoking Cocoon actions via JavaScript
>
>
> One of our developers has run into an issue that I can't see an easy
> solution to.  However, I also can't believe that no one else has run into
> the problem.
>
> We have a form where we are using IE 5.5 (and above) DHTML to enable drop
> and drag editing to reorder fields.  As the result of a drop, we determine
> some positional values, place these values into the form and then attempt to
> submit the form to the server where the values will be placed in a database.
> In order to submit the form, the JavaScript code has to invoke the proper
> HTML action for the form, which is named using the Cocoon standard
> "cocoon-action-xxxx" format.  Since JavaScript attempts to resolve the
> action name as an JavaScript object it eventually turns a string of this
> format into three object names separated by  two minus signs and
> subsequently blows up trying to subtract non-existent JavaScript objects
> from each other.
>
> One obvious fix would be to change Cocoon to not use "-" in the action
> names. Given that this would break just about every Cocoon implementation in
> the world I'm hoping that someone has run into this before and found a work
> around on the JavaScript side of the world?
>
> Peter Hunsberger
>
> Phone: 901-495-5252
> E-mail: Peter.Hunsberger@stjude.org
>
>
> ---------------------------------------------------------------------
> Please check that your question  has not already been answered in the
> FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>
>
> To unsubscribe, e-mail:     <co...@xml.apache.org>
> For additional commands, e-mail:   <co...@xml.apache.org>
>



---------------------------------------------------------------------
Please check that your question  has not already been answered in the
FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>

To unsubscribe, e-mail:     <co...@xml.apache.org>
For additional commands, e-mail:   <co...@xml.apache.org>