You are viewing a plain text version of this content. The canonical link for it is here.
Posted to embperl@perl.apache.org by "Luiz Fernando B. Ribeiro" <lu...@engenhosolucoes.com.br> on 2004/04/07 18:23:38 UTC

Re[2]: Passing arguments

Luiz,

Wednesday, April 7, 2004, 1:17:24 PM, você escreveu:

LFBR> Sreeram,

LFBR> Wednesday, April 7, 2004, 11:35:32 AM, você escreveu:

Sbc>> Hi,
Sbc>> I have a component, and inside component I am calling another component like this
Sbc>> Component1:
Sbc>> ------------------
Sbc>> <a href="/component2?arg1=[+ $fdat{arg1} +];arg2=[+
Sbc>> $fdat{arg2} +];arg3=[+ $fdat{arg3} +].....>SomeData</a>
Sbc>> The problem is I have many arguments to pass and I have a
Sbc>> long navigation path. Is there any way in embperl to send
Sbc>> these arguments (or form data) of component1 to component2
Sbc>> or reference them in component2 without 
Sbc>> specifying them in the href tag. I appreciate your help.

LFBR> You should use a form with POST method.
LFBR> 1. Put a <form method="POST" action="/component2"
LFBR> name="myForm"> somewhere in your
LFBR> page.
LFBR> 2. Put your arguments in hidden tags or use the magical [$ hidden $]
LFBR> feature of Embperl to populate your form.
LFBR> 3. In your link put href="document.myForm.submit()".

There was an error in my own POST:

on step 3, it should be:
3. In your link put href="javascript:document.myForm.submit()".

This is a safe way to use long arguments, since IE only supports about
2048 bytes in the URL. But anyway if you have many Kb to send in a
URL you can always redesign your application to keep data on the
server side using %udat, as suggested.

Sorry for the mistake,

-- 
Luiz Fernando B. Ribeiro
Engenho Soluções para a Internet


---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-unsubscribe@perl.apache.org
For additional commands, e-mail: embperl-help@perl.apache.org