Sven Rautenberg: Übergabe von Variablen an Frameset - Fehler 405

Beitrag lesen

Moin!

Irgendwie funzt es nicht.

Scheint ja wohl so - aus gutem Grund.

Ich möchte Variablen aus einem Formular(index.htm) an den mainframe eines Framesets (frameset.htm) mit 'post' übergeben. (Das Fromular befindet sich nicht in einem Frameset).

Wenn du POST einsetzt, dann bedeutet dass, das das Formular mit der Methode POST an den Server gesendet wird. Dieser Request muß dort von einem serverseitigen Skript verarbeitet werden können.

Die Seite im meinframe kann ich nicht editieren, denn sie befindet sich auf einem anderen Server.

Das ist schlecht, wie gleich noch zu sehen sein wird.

Bei klick auf Submit kommt Fehler 405

... der, wenn ich mich recht erinnere "Method not allowed" bedeutet: POST ist nicht erlaubt, weil eine .html-Datei mit POST-Daten nichts anfangen kann.

In der index.htm habe ich folgende funktion definiert:

<script language="JavaScript" type="text/javascript">
<!--
 function uebergabe()
  {
   js_enabled = document.formular.js_enabled.value;
   from = document.formular.from.value;
   to = document.formular.to.value;
   pax = document.formular.pax.value;
   Day = document.formular.Day.value;
   month_1 = document.formular.month_1.value;
   RetDay = document.formular.RetDay.value;
   month_2 = document.formular.month_2.value;
   tarif_klasse = document.formular.tarif_klasse.value;
   mainframe.location.href = "frameset.htm";
  }
//-->
</script>

Hier definierst du diverse Variablen in der Funktion, die nach dem Ende der Funktion alle wieder verloren gehen, weil sie nicht als global definiert sind. Außerdem gehen sie vermutlich aus deswegen verloren, weil du eine neue Seite aufrufst. Wenn diese neue Seite deine aktuelle Seite ersetzt, ist es jedenfalls so. Ich würde vermuten, dass es so ist.

<form method=post name=formular>

ERROR: Required attribute "action" is missing.

Ja, du mußt eine action angeben, das ist die URL, an die das Formular gesendet werden soll.

In  frameset. werden die Variabelen wieder aufgenommen:

<script language="JavaScript" type="text/javascript">
 <!--
  var js_enabled;
  var from;
  var to;
  var Day;
  var pax;
  var month_1;
  var RetDay;
  var month_2;
  var tarif_klasse;
 //-->
</script>

Hier definierst du eine Reihe von Variablen als global und belegst sie mit "nichts".

Dein Problem beweist, dass du von der Verwendung von Formularen noch keine wirkliche Ahnung hast. Wenn du mal mit einfachen Worten schildern könntest, was du vorhast, und was dein Server so kann (PHP, Perl, andere Sprachen, oder gar nichts davon), dann kann man dir vielleicht weiterhelfen.

- Sven Rautenberg