You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by "Linck, Ken" <Ke...@crowncastle.com> on 2004/06/04 17:40:22 UTC
CORRECTION: Alias names that can be used in javascript to refere
nce ......................
==============================
Sorry, minor correction in example needed:
The java script should be
dosomething() {
alert(document.somethingFormConfigOptionA.command.value);
alert(document.somethingFormConfigOptionB.command.value);
}
===============================
-----Original Message-----
From: Linck, Ken [mailto:Ken.Linck@crowncastle.com]
Sent: Friday, June 04, 2004 11:36 AM
To: 'user@struts.apache.org'
Subject: Alias names that can be used in javascript to reference <html:for
m> when using multiple forms that could point to the same action?
I am in the process of removing all our Struts 1.0 deprecated code in
anticipation of moving to Struts 1.2(when its release). I was looking at
the <html:form...> tag and how they removed the "name", "type", "scope"
attributes of the <html:form> tag stating that the action mapping will
determine these values.
My question is, does anything exist or will exist to refer to a form in
javascript without having to dive into a positional array when having
multiple html:form's tags pointing to the same action?(which maybe a bad
approach to begin with but at this point I am trying to avoid significant
changes to these jsps if possible).
Each <html:form..> had a "name"(I consider it like an alias pre Struts 1.2)
which was being referenced in javascript. When I removed the "name"
attribute, I think the javascript broke because it could not resolve
"somethingFormConfig1.command.value" since the alias no longer exists.
Code tidbit below:
==================================================================
Example that worked pre-Struts 1.2 and now broken:
dosomething() {
alert(document.somethingFormConfig1.command.value);
alert(document.somethingFormConfig2.command.value);
}
<html:form action="Something.do" name="somethingFormConfigOptionA">
<html:hidden name="command" value="configA"/>
<html:hidden name="paramX" value="123"/> </html:form>
<html:form action="Something.do" name="somethingFormConfigOptionB">
<html:hidden name="command" value="configB"/>
<html:hidden name="paramX" value="456"/> </html:form>
===================================================================
Struts 1.2 change I put in to make it work but does not seem as
elegant(being now positional):
dosomething() {
alert(document.SomethingFormConfig[0].command.value);
alert(document.SomethingFormConfig[1].command.value);
}
<html:form action="Something.do">
<html:hidden name="command" value="configA"/>
<html:hidden name="paramX" value="123"/> </html:form>
<html:form action="Something.do">
<html:hidden name="command" value="configB"/>
<html:hidden name="paramX" value="456"/> </html:form>
====================================================================
NOTE: Assume that the name is "SomethingFormConfig" in the struts-config.
The only other solution I could think of is to define multiple actions
pointing to the same action and form class(if thats possible) but I did not
try that and that seemed like overkill to me to solve a javascript error at
this point unless no other elegant solution was available.
Thanks for advice in adance.
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org