Tom: Perl kontra Javascript

Beitrag lesen

Hallo Roger

Die Wertübergabe aus Javascript an das Perlskript erfolgt über die CGI-Schnittstelle.
Dies kann in 2 Varianten erfolgen:

Variante 1:
Du setzt in Javascript direkt den Perlskriptaufruf mit allen Parametern zusammen und lädst die Seite in ein Frame:

top.['ContentFrame'].location.href="../cgi-bin/DeinSkript.pl?param1=xy&var=" + deineVariable;

Variante 2:
Du definierst in Deinem Frame ein Formular mit verstekten Feldern (input-type=hidden), füllst das Formularfeld mit JavaScript aus und sendest das Formular ab.

HTML:
   <form action="../cgi-bin/DeinSkript.pl" method="post" name="TestForm" enctype="application/x-www-form-urlencoded">
     <input type="hidden" name="param1" value="xy">
     <input type="hidden" name="var" value="">
   </form>

JavaScript:
   document.TestForm.var = deineVariable;
   document.Testform.submit();

Die Variante 2 hat gegenüber der Variante 1 den Vorteil, dass beide Übertragungs-Methoden (GET und POST) verwendet werden können, somit die Anzeige Deiner Übergabevariablen in der URL bei der Verwendung von POST unterdrückt werden kann.
Weiter musst Du bei der Variante 2 die Werte _nicht_ URL-Encoden, da dies vom Browser vorgenommen wird (falls Du das Attribut in dem Formtag definiert hast).

Grüsse
Tom