Jeffery Painter <[EMAIL PROTECTED]> writes:

>I agree with J�rgen on this one. What I do is have the button link call a 
>javascript which does the submit action. The link before is just going to 
>build a URL and not do a form post.

>so in your template use

>       <form name="someform" method="post" action="$link.setAction("myClass")>

>       </form>

>       <script>

>               doSubmit()
>               {
>                       document.someform.submit();
>               }

>       </script>

Or make it really cool with DOM:

function eventSubmit(formIndex, event)
{
  var field = document.createElement('input');
  field.type='hidden';
  field.name="eventSubmit_do" + event;
  field.value='1';
  document.forms[formIndex].appendChild(field);
  document.forms[formIndex].submit();
} 

If you have just one form in your page, you can write

<a href="javascript:eventSubmit("0", "Bla")">Bla</a>

and this small javascript synthesizes a new hidden field and adds it
to your form in the browser. No need for lots of hidden fields.

BTW: Anyone knows a way where I have

<form name="firstform" ....> </form>
<form name="secondform" ....> </form>

in my page and can look for a form object in the page by name?
document.forms[] only allows numbers. and I cannot make
document.<formname> work where <formname> is a variable and not a
constant.

        Regards
                Henning






>On Wed, 20 Aug 2003, J�rgen Hoffmann wrote:

>> Hi,
>> 
>> I think the problem is that you use a link and you alter a hidden field
>> from a form. The link does not seem to be in <form action="{link}...">
>> it seems to be a regular link. When you set a regular link you should
>> use something like this
>> 
>> <a href="$link.setAction("myClass").addPathInfo("eventSubmit_doAdd",
>> "add").addQueryData("myfield","1")"> +Add</a>
>> 
>> Or something like
>> 
>> <a href="$link.setAction("myClass").addPathInfo("eventSubmit_doAdd",
>> "add").addQueryData("myfield","$velocityCount")"> +Add</a>
>> 
>> Hidden fields are only transmitted in the request if sent through a
>> form.
>> 
>> Kind regards
>>  
>> J�rgen Hoffmann
>> ByteACTION GmbH
>>  
>> 
>> 
>> 
>> -----Urspr�ngliche Nachricht-----
>> Von: Luke Majewski [mailto:[EMAIL PROTECTED] 
>> Gesendet: Mittwoch, 20. August 2003 07:52
>> An: Turbine Users List
>> Betreff: Re: $link.setAction
>> 
>> 
>> Here it is, it's exactly how you wrote it.
>> 
>> public void doAdd(RunData data, Context context) throws Exception {
>>     Integer id = (Integer)data.getParameters().getInteger("id");
>>     // do something
>> }
>> 
>> a call I succesfully use in other places where I have a submit button
>> and not a submit link.
>> 
>> and this is the javascript on the form... checked all the obvious like
>> form name, etc:
>> 
>> function doAdd(depth)
>> {
>>     document.Category.id.value = depth;
>> }
>> 
>> with a hidden field on the form being declared:
>> 
>> <input type="hidden" name="id" value="0">
>> 
>> pretty standard stuff.
>> 
>> thanks for the help!
>> 
>> ----- Original Message ----- 
>> From: "Jeffery Painter" <[EMAIL PROTECTED]>
>> To: "Turbine Users List" <[EMAIL PROTECTED]>
>> Sent: Wednesday, August 20, 2003 12:53 AM
>> Subject: Re: $link.setAction
>> 
>> 
>> > 
>> > I have done the same successfully, using javascript to update hidden
>> > fields. Could you send a little more from your 
>> >  data.getParameters().getInt("hiddenField") routine to help identify
>> the 
>> > problem?
>> > 
>> > THanks,
>> > Jeff Painter
>> > 
>> > 
>> > 
>> > 
>> > On Tue, 19 Aug 2003, Luke Majewski wrote:
>> > 
>> > > Hello,
>> > > 
>> > > I have a $link.setAction call that looks like this:
>> > > 
>> > > <a href="$link.setAction("myClass").addPathInfo("eventSubmit_doAdd",
>> 
>> > > "add")"> +Add</a>
>> > > 
>> > > It is working in the sense that my doAdd function is succesfully 
>> > > being called from "myClass."  The problem I am having is with
>> parameter passing.  There are two ways I can do this, the way I do it
>> uses javascript to set a hidden field to whatever I need and then I use
>> the data.getParameters() call on the backend to grab the value.
>> > > 
>> > > this is what my doAdd function looks like:
>> > > 
>> > > public void doAdd(RunData data, Context context) throws Exception
>> > > 
>> > > Well, when I do the data.getParameters() call, all I get is 0 for my
>> 
>> > > hidden integer that I set.  I verify that the javascript is doing 
>> > > the work with an alert.
>> > > 
>> > > Does any one have any suggestions?  I have read so many posts on 
>> > > this and none of the solutions seems to work.  It seems to me like 
>> > > (RunData data, Context context) are not being correctly passed to my
>> 
>> > > doAdd function.
>> > > 
>> > > Thank you in advance for any help,
>> > > 
>> > > Luke Majewski
>> > 
>> > 
>> > ---------------------------------------------------------------------
>> > 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]
>> 


>---------------------------------------------------------------------
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]

-- 
Dipl.-Inf. (Univ.) Henning P. Schmiedehausen          INTERMETA GmbH
[EMAIL PROTECTED]        +49 9131 50 654 0   http://www.intermeta.de/

Java, perl, Solaris, Linux, xSP Consulting, Web Services 
freelance consultant -- Jakarta Turbine Development  -- hero for hire

"Dominate!! Dominate!! Eat your young and aggregate! I have grotty silicon!" 
      -- AOL CD when played backwards  (User Friendly - 200-10-15)

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to