PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : verschiedene actions für 1 Formular



ThorstenHirsch
12-03-2004, 15:02
Servus.

Ich hab hier ein Formular und benötige dessen Einträge in der darauffolgenden Seite - um submit komm ich also nicht herum. Das Formular soll jedoch für 2 verschiedene Folgeseiten herhalten. In "action" kann ich aber leider nur 1 Folgeseite angeben - wie kann ich dieses Problem lösen?

ThorstenHirsch
12-03-2004, 15:29
Bei google konnte ich zwar keine Lösung finden, aber ich bin selbst auf eine gekommen.

Also: ich hab ein neues hidden-Feld in das Formular eingefügt: name="next", value="" - dann eine JavaScript-Funktionen geschrieben, die dieses Feld verändert. Button 1 ruft die Javafunktion auf, so dass value="operation1.php" lautet und Button 2 ändert value in "operation2.php" - anschließend ruft die JavaScript-Funktion submit auf, wodurch ich auf die Seite "wastun.php" komme, die als action des Formulars angegeben war.
wastun.php ruft dann einfach include($_POST[next]) auf.

Is das nich toll?
So'n bisschen Stolz auf mich bin ich ja jetzt schon :D

offe
12-03-2004, 17:38
mit javascript action (http://selfhtml.teamone.de/javascript/objekte/forms.htm#action) kannst du das Script gleich auswählen.

Bsp.: document.Testform.action = operation2.php;

Offe

sixfriends
17-03-2004, 17:33
Wenn du dem Button einen Namen gibst, wird dessen value auch übergeben.

<input type="submit" name="auswahl" value="Weg 1">
<input type="submit" name="auswahl" value="Weg 2">
Es wird nur das value des Buttons übergeben, der angeklickt wurde.

Flyp
16-11-2004, 15:56
so leute ich hab wenig ahnung von davon :) kann jemand mit bitte genau erklären wie ich zu diesem formular auch eine action zu url: /eintrag2.cgi? machen soll ?

<form method="post" action="/eintrag1.cgi">
<input type="text" name="text" value="" size="20">

<input type="hidden" name="mmqq" value="'">
<input type="hidden" name="action" value="send">
<input type="hidden" name="entry" value="2332">
<input type="submit" name="submit" value="Abschicken">


ich würde mich freuen wenn jemand mir helfen kann.

ich versuche seit 2 wochen... es klappt irgend wie nicht :(

sixfriends
16-11-2004, 23:03
Was genau willst du?

Flyp
16-11-2004, 23:37
1 button 2 actions

ich weiss nicht ob überhaupt machbar ist.

denn wie gesagt ich versuche seit 2 wochen...

kannst du mir helfen ?

BlueJay
17-11-2004, 12:46
so leute ich hab wenig ahnung von davon :) kann jemand mit bitte genau erklären wie ich zu diesem formular auch eine action zu url: /eintrag2.cgi? machen soll ?


<form method="post" action="/verteiler.cgi">
<input type="submit" name="eintrag1" value="Abschicken1">
<input type="submit" name="eintrag2" value="Abschicken2">
...

im php-Script verteiler.cgi: (nicht durchgegetestet - in includes stehen bei mir nur functions, die ich gezielt nach eintrag aufrufe)

if (isset(eintrag1)) { include(eintrag1.php); } else { include(eintrag2.php); }

so long,
BlueJay

Flyp
18-11-2004, 11:17
eehm desto trotz ist da 2 buttons.

aber ich brauche eine button die 2 ergebnisse als "post" bzw. "get" schickt :)

naja von nem kumpel hab ich erfahren dass es gar nicht möglich ist. (nach seine wissen)

wer trotzdem eine lösung hat bitte posten.

Pingu
19-11-2004, 15:55
Vielleicht blöde Frage: Wozu braucht man zwei Actions und einen Button?

Erklär doch vielleicht mal an einem Beispiel was Du machen willst. Denn vielleicht geht es über eine andere Herangehensweise viel einfacher.

Pingu

sven1978
01-12-2004, 14:29
Ich habe hier die Lösung für dich:
Der Code den ich dir hier zeige stammt aus den Script das von der Form aufgerufen wurde. Also das script das du als Action definiert hast. Ich habe 2 Frames. In einem Frame führe ich das php script aus( Das Action ).In diesem Script ändere ich dann mit JavaScript das zweite Frame. Dieses Frame heist:
akt_auswahl

Diese Beispiel ist auch in SelfHtml erklärt. Such dort mal nach "Zwei Fenster".



else
{

?>
<script language="JavaScript">
<!--
parent.akt_auswahl.location.reload();
parent.akt_auswahl.document.write("<b>Auswahl:</b><br>");
parent.akt_auswahl.document.write("Linie : ");
parent.akt_auswahl.document.write("<?= $linie ?>");
parent.akt_auswahl.document.write("<br>Station : ");
parent.akt_auswahl.document.write("<?= $station ?>");
parent.akt_auswahl.document.write("<br>Modul: ");
parent.akt_auswahl.document.write("<?= $modul ?>");
-->
</script>
<?php