Ausgabe an 2 Frames

lloeck

Grünschnabel
Hallo
Ich hab eine Funktion in mein php eingebettet die es mir ermöglicht, 2 Frames gleichzeitig zu öffnen.
<script language="JavaScript">
<!--
function senden()
{
document.forms['Patchliste'].action="patch.php";
document.forms['Patchliste'].target="ausgabelinks";
document.forms['Patchliste'].submit();

document.forms['Patchliste'].action="patch1.php";
document.forms['Patchliste'].target="ausgaberechts";
document.forms['Patchliste'].submit();
}
//-->
</script>

Innerhalb der FORM
<form action="" method="post" name="Patchliste" target="" >
habe ich entsprechend die Buttons mit onclick
<input type="submit" name="install" value="Auswahl durchf&uuml;hren" onclick="senden()" >
deklariert.

Das Problem ist nur, das der Wert des Buttons "name=install" nur an das eine Fenster nicht aber an das andere Fenster übergeben wird .

Kann mir einer dabei helfen oder erklären warum ?


Danke


Mfg


Leif
 
Hi,


das Problem ist folgendes:
Der Wert von Submit-Buttons wird ja nur übermittelt, wenn das Formular durch einen Klick auf den Button gesendet wird.

Dein Formular wird insgesamt 3x gesendet:
zuerst 2x über das Skript(dort wird der Wert des Buttons nicht übermittelt, da das Senden durch JS erfolgt, und nicht durch Buttonklick)...und dann noch 1x auf ganz normale Art, denn du hast den normalen Sende-Prozess des Formulars nicht abgebrochen. Bei diesem 3 Senden wird dann auch der Wert des Buttons übermittelt.

Workaround:
Code:
<script type
="text/javascript">
<!--
function senden()
{
document.forms['Patchliste'].action="patch.php?install";
document.forms['Patchliste'].target="ausgabelinks";
document.forms['Patchliste'].submit();

document.forms['Patchliste'].action="patch1.php?install";
document.forms['Patchliste'].target="ausgaberechts";
document.forms['Patchliste'].submit();
}
//-->
</script>
<form method="post"  name="Patchliste" target="" >
<input type="submit" name="install" value="Auswahl durchf&uuml;hren" onclick="senden();return false;" >
</form>
...der Name des Buttons wird der "action" des Formulars als Parameter angehängt..du kannst ihn dann in den Skripten per $_GET['install'] abfragen.
 
Hallo Sven .

Danke erstmal für deine Antwort und Erklärung.
So ähnlich hatte ich das bereits versucht, aber auch dort das Problem mit der Übermittlung des Wertes des Buttons gehabt.

Zitat:
...der Name des Buttons wird der "action" des Formulars als Parameter angehängt..du kannst ihn dann in den Skripten per $_GET['install'] abfragen.
/Zitat

Leider wird der Value nicht mit übermittelt :-( um ihn auswerten zu können
Die Variable install ist leer :-(


Mfg


Leif
 
Wenn du nicht nur den Namen, sondern auch den Wert des Buttons benötigst(also:Auswahl durchf&uuml;hren), kannst du dies so erreichen:


Code:
<script type="text/javascript">
<!--
function senden(btn)
{
document.forms['Patchliste'].action="patch.php?"+btn.name+'='+escape(btn.value);
document.forms['Patchliste'].target="ausgabelinks";
document.forms['Patchliste'].submit();

document.forms['Patchliste'].action="patch1.php?"+btn.name+'='+escape(btn.value);
document.forms['Patchliste'].target="ausgaberechts";
document.forms['Patchliste'].submit();
}
//-->

</script>
<form method="post"  name="Patchliste" target="" >
<input type="submit" name="install" value="Auswahl durchf&uuml;hren" onclick="senden(this);return false;" >
</form>
 
Zurück