Vor Submit Variablen an Opener übergeben?
tox
- javascript
Guten Morgen,
folgende Codezeile lädt mein Formular im Openerfenster neu:
opener.document.add.submit();
Das klappt wunderbar, aber der Grund warum ich aus einem Popup einen Sumbit ausführen möchte ist ja, dass neue Variablen erzeugt wurden.
Ist es möglich dem Formular "add" vor dem Submit weitere Variablen hinzuzufügen? Wenn ja, wie?
Danke und Gruss
Hallo tox,
opener.document.add.submit();
Ist es möglich dem Formular "add" vor dem Submit weitere Variablen hinzuzufügen?
Du kannst dem Formular neue Elemente hinzufügen oder den Inhalt/Value bestehender austauschen.
Wenn ja, wie?
opener.document.add.<elementname>.<eigenschaft> = "neuerWert";
Mit freundlichem Gruß
Micha
Hallo Micha,
danke Dir, aber irgendwas mache ich noch falsch:
opener.document.add.bild.value="<?php echo $bild; ?>".submit();
Ich habe es so verstanden:
<elementname>
Ist meine Variable aus PHP, die ich an mein Form übergeben möchte.
<eigenschaft>
Ist das was im Form dann mit der folgenden Angabe gemacht werden soll.
Geht aber nicht. Was mache ich falsch?
Gruss
Hallo tox,
danke Dir, aber irgendwas mache ich noch falsch:
Ja, Du machst zuviel in einer Zeile. Jede Eigenschaft und/oder Funktion musst Du getrennt vollziehen. Wichtig ist dabei auch, das Du sie auf die richtigen Elemente anwendest. Ein Textfeld kann sich nicht selbst verschicken :-)
So möchtest Du dem Input-Feld (Vermute ich mal) den Bildnamen übergeben und danach das Formular absenden:
opener.document.add.bild.value="<?php echo $bild; ?>";
opener.document.add.submit();
<elementname>
Ist meine Variable aus PHP, die ich an mein Form übergeben möchte.
Nein, PHP spielt hier keine Rolle. elementname ist der Name, dem Du zB der Textarea oder einem Input-Feld oder einm Button oder dergleichen gegeben hast.
<eigenschaft>
Ist das was im Form dann mit der folgenden Angabe gemacht werden soll.
Ist zum Beispiel das value-Attribut eines einfachen Eingabefeldes. Kann aber auch die Größe der Textarea sein usw.
Mit freundlichem Gruß
Micha
opener.document.add.bild.value="<?php echo $bild; ?>";
opener.document.add.submit();
Okay, habs verstanden. Aber jetzt haut er mir einen
"opener.document.add.bild has no properties" Fehlermeldung raus.
Was bedeutet das?
Hallo tox,
Okay, habs verstanden. Aber jetzt haut er mir einen
"opener.document.add.bild has no properties" Fehlermeldung raus.Was bedeutet das?
Das es kein Element gibt, welches diesen Namen hat. Wie sieht Dein Formular denn aus?
Mit freundlichem Gruß
Micha
Aha, das bedeutet dass sich diese Art von Übergabe nur auf ein Formular bezieht. Es ist tatsächlich kein Feld mit diesem Namen definiert. Mein Fehler.
Kann man denn einfach so eine Variable übergeben, damit diese von der dem Formular folgenden PHP Seite mitverarbeitet werden kann?
Vielen Dank schon mal
Hallo tox,
Kann man denn einfach so eine Variable übergeben, damit diese von der dem Formular folgenden PHP Seite mitverarbeitet werden kann?
Mal angenommen Du hängst Deine Variabe an das action Attribut des Formulares:
<form name="fomrular" action="./index.php?var=value" method="submit">...</form>
dann kannst Du in der Seite, die das Formular auswertet doch per $_GET['var'] auf diese Variable und dessen Inhalt zugreifen.
Das musst also mit JavaScript aus dem PopUp heraus die Zieladresse manipulieren und Deinen Parameter anhängen - ungetestet:
opener.document.add.action += "?var=value"; //Hier Dein PHP-Kram
opener.document.add.submit();
Vielen Dank schon mal
Keine Ursache ;-)
Mit freundlichem Gruß
Micha
Hallo,
<form name="fomrular" action="./index.php?var=value" method="submit">...</form>
hmmm, method="[post|get]" muss es natürlich heißen - sry.
Mit freundlichem Gruß
Micha
hmmm, method="[post|get]" muss es natürlich heißen - sry.
Okay, das wär nicht das Prob. Aber ich verzweifel an meiner Variablenübergabe, obwohl ich so etwas ähnliches schon mal gemacht habe:
document.add.action+="?bild=<?php echo $bild; ?>";
Geht aber auch nicht (document.add has no property) und so:
opener.document.add.action+="?bild=<?php echo $bild; ?>";
opener.document.add.submit();
Erzeugt er zwar keinen Javascriptfehler, aber es kommt auch nichts im meinem Opener an.
Warum?
Hallo tox,
Warum?
habs gerade mal probiert. Wenn ich im Popup noch die Adresse auslesen lasse, stimmt sie. Der Parameter ist also rangehangen. Beim senden vergisst er ihn aber. Dann bleibt Dir doch nichts anderes übrig, als es in ein Formularfeld zu schreiben.
Mit freundlichem Gruß
Micha
Hallo Micha,
habs gerade mal probiert. Wenn ich im Popup noch die Adresse auslesen lasse, stimmt sie. Der Parameter ist also rangehangen. Beim senden vergisst er ihn aber. Dann bleibt Dir doch nichts anderes übrig, als es in ein Formularfeld zu schreiben.
Du hast recht, mit Hidden ist die einzige Möglichkeit das Ganze in dieser Art zum Fliegen zu bringen. Und der Validator hat auch nichts dagegen, wenn Felder die nicht benutzt werden mit value="" drin stehen.
Vielen Dank für Deine Geduld und Hilfe
Gruss