One final note, tap4 ~does~ make all of this a lot easier (I think, never
used tap3 ;) ) , but there may be some scenerios that aren't as intuitive.

I think this last leg of confusion will be solved in tap4.1 when the rewind
cycle is eliminated. I need an easier way to get at these id's and such as
well. (tap4.1 will also be coming out a LOT sooner than tap4 did)

j
On 1/24/06, Jesse Kuhnert <[EMAIL PROTECTED]> wrote:
>
> If all else fails you guys should go look at the source for
> http://tacos.sourceforge.net. Inside you will find all manner of scripting
> Forms/For loops/etc that may show you some better examples of how this can
> be done.
>
> jesse
>
> On 1/24/06, Jesse Kuhnert <[EMAIL PROTECTED]> wrote:
> >
> > Yeah you've sort of run into a chicken and egg problem. The unique id of
> > your submit component can't actually be determined until after it's been
> > rendered (at least not through normal means), so your goal should be to find
> > a way to create your javascript ~after~ these guys have been rendered.
> >
> > You could achieve this goal very easily by using the incredibly useful
> > Script component, 
> > http://jakarta.apache.org/tapestry/tapestry/ComponentReference/Script.html
> > .
> >
> > You want to more or less use the last example as your reference. Be sure
> > to place your @Script at the END of the form, not before your fields..
> >
> > Then all you have to do is use friendly ognl notation to pass whatever
> > parameters you want into your script. In this instance, you could either
> > pass your input component into the script, ie
> >
> > <span jwcid="@Script" script="/com/mycorp/scripts/ToggleInput.script"
> > input="ognl:components.test"  />
> >
> > and then call "test.clientId" from within your script, OR you could just
> > pass the id's in, which is what you probably want ultimately anyways:
> >
> > <span jwcid="@Script" script="/com/mycorp/scripts/ToggleInput.script"
> > input="ognl:components.test.clientId" />
> >
> > Then your toggle method becomes much easier:
> >
> > <input-symbol key="input" required="yes"/>
> >
> > <script>
> >
> >
> >
> > <body>
> > function toggleInput(chk) {
> >     var inputField = document.getElementById(${inputId});
> >     if(!inputField) return; //might not exist
> >     inputField.disabled=!chk.checked;
> > }
> > </body>
> >
> > </script>
> >
> >
> > Now your checkbox javascript can look like:
> >
> > <input type="checkbox" name="checkbox" value="checkbox"
> > onClick="javascript:toggleInput(this);">
> >
> > Of course none of this would have been necessary if your checkbox were
> > rendered ~after~ the submit intput, but that's not always possible...
> >
> > Hope that helps. (It better ;) )
> >
> > j
> > On 1/24/06, Jorge Quiroga < [EMAIL PROTECTED] > wrote:
> > >
> > > Hi Jesse:
> > >
> > > Firstly thanks for your time and tip, I resolve partially a problem
> > > with
> > > java script with a component and I have to re-do an Id, calculate the
> > > js
> > > function into the .script and into the .java and generate a lot of js
> > > that can be replaced for only one function and passing two parameters,
> > > a
> > > button and a Checkbox. The funtionality is achieve with this js
> > > function
> > >
> > > <script language="javascript">
> > >    function enableButton(btn, chk)
> > >    {
> > >       btn.disabled=!chk.checked;
> > >    }
> > > </script>
> > > </head>
> > > <body>
> > > <form name="form1" method="post" action="">
> > >    <input type="checkbox" name="checkbox" value="checkbox"
> > > onClick="enableButton(test, this)">
> > >
> > >    <input type="button" id="test" name="Submit" value="Send">
> > > </form>
> > >
> > > The problem is pass the parameters from tapestry, do you know how to
> > > achieve this?
> > >
> > > Thanks
> > >
> > > JQ
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> > >
> >
>

Reply via email to