![]() |
(JS|PHP) popup datenübergabe
hi jungs..
ich habe folgendes probelem... das ist das hauptfenster, hier sollten daten eingefüllt werden
Delphi-Quellcode:
übergeben sollte es dieses fenster
...
for ($i=0;$i<31;$i++) { echo " <form name=\"form_$i\" action=\"#\"> <tr> <td>$i</td> <td> <input type=\"text\" name=\"amount_$i\" size=\"10\"> </td> <td> <input type=\"text\" name=\"cardname_$i\" size=\"80\"> <input type=\"hidden\" name=\"card_id_$i\" size=\"80\"> </td> <td><a href=\"#\" onClick=\"popup1=window.open('add.php?id=$i','test','scrollbars=yes,width=550,height=550')\">add</a></td> </tr> <tr><td></td><td></td><td></td> </tr> </form>"; } ...
Delphi-Quellcode:
$id2 ist gleich der $id ;)
<script language="JavaScript">
function set_card(x;y;z) { opener.document.form_z.cardname_z.value = x; opener.document.form_z.card_id_z.value = y; self_close(); </script> ... <a href=\"javascript:set_card('$data[m_cardname];$data[m_id];$id2')\">$data[m_cardname]</a> nun zu meinem problem.. es funktioniert nicht.. es werden dem hauptfenster keine daten übertragen.. kann mir jemand helfen? |
Re: (JS|PHP) popup datenübergabe
Könnte das Problem sein, dass du im 2. Fenster nicht einfach nur $id2 sondern $_GET['id2'] schreiben müsstest?
|
Re: (JS|PHP) popup datenübergabe
Moin mav,
meinst du hier:
Code:
wirklich z oder den Wert in der Variable z? In zweiterem Fall musst du so arbeiten:
opener.document.form_z.cardname_z.value = x;
Code:
So wird z eingesetzt, und der Code dann ausgefuehrt, also wenn z 1 ist, dann wird das ausgefuehrt:
eval("opener.document.form_"+z+".cardname_"+z+".value = x;");
Code:
Greetz
opener.document.form_1.cardname_1.value = x;
alcaeus |
Re: (JS|PHP) popup datenübergabe
danke für deine hilfe.. stimmt diesen fehler habe ich übersehen..
habe es koorigiert.. jedoch überträgt das ganze immer noch keine daten :( |
Re: (JS|PHP) popup datenübergabe
Nochmal:
Wenn du PHP > 4.3 hast, dann musst du $_GET['id2'] schreiben.... |
Re: (JS|PHP) popup datenübergabe
Hi,
meintest Du vielleicht statt: <a href=\"javascript:set_card('$data[m_cardname];$data[m_id];$id2')\">$data[m_cardname]</a> das hier? <a href=\"javascript:set_card('<?= $data[m_cardname] ?>;<?= $data[m_id] ?>;<?= $id2 ?>')\"><?= $data[m_cardname] ?></a> Ausserdem kenne ich als Trenner für Funktionsparameter nur das Komma - lasse mich aber gern eines besseren belehren ... Also statt: "set_card(x;y;z)" dann eher: "set_card(x,y,z)" Grüsse, Hannes |
Re: (JS|PHP) popup datenübergabe
Zitat:
Grüße Faux |
Re: (JS|PHP) popup datenübergabe
Zitat:
Aber das mit den Strichpunkten in JS kommt mir auch spanisch vor, AFAIK kannn man wirklich nur den Beistrich als Trennzeichen fuer Parameter verwenden. Greetz alcaeus |
Re: (JS|PHP) popup datenübergabe
also das mit dem semikolon ist eigendlich egal.. soviel ich weiss.. ;)
zu der frage mit der zeile.. die zeile steht im echo "..."; |
Re: (JS|PHP) popup datenübergabe
Also mich wundert der Strichpunkt genauso. Probiers doch einmal mit einem Beistrich.
Zweitens gehört die JavaScript-Funktion noch geschlossen ("}"). Drittens ( :wink: ) solltest du die einzelnen Parameter unter einzelne Anführungszeichen setzen, nicht nur unter eines:
Code:
Das ist mir spontan aufgefallen. Probiers einmal...
echo "<a href=\"javascript:set_card('$data[m_cardname]','$data[m_id]','$id2')\">$data[m_cardname]</a>";
LG, ich |
Re: (JS|PHP) popup datenübergabe
Firefox hat übrigens ne ganz tolle JS-Konsole die einem bei Syntaxfehlern immer hilft. :-D (Extras->JavaScript-Konsole)
|
Re: (JS|PHP) popup datenübergabe
Zitat:
In der DP kommen beimir lauter fehler.. lol |
Re: (JS|PHP) popup datenübergabe
Liste der Anhänge anzeigen (Anzahl: 2)
ohh.. die konsole ist der hammer.. jedoch hilft mir die fehler aussage nicht weiter
der erste fehler tritt auch, wenn ich den popup öffne über das hauptfenster die anderen 2 erscheinen beim suchen in der popup und anschliessend beim ausführen des übertragen der variablen. im anhang könnte, wer interesse hat, das popup anschauen.. vielen danke für euere hilfe :) |
Re: (JS|PHP) popup datenübergabe
Du hast nicht konsequent das gemacht, was alcaeus vorgeschlagen hat:
bei dir im Quellcode steht das:
Code:
aber bei alcaeus steht das:
opener.document.form_"+z+".cardname_"+z+".value = x;
Code:
meine Lösung für dieses Problem wäre aber so etwas in der Art (müsste normalerweise gehen):
eval("opener.document.form_"+z+".cardname_"+z+".value = x;");
Code:
Das müsstest du dann noch entsprechend auf die zweite Zeile anpassen.
opener.document.forms["form_"+z].elements["cardname_"+z].value = x;
btw. hat dein Dokument noch ein paar andere Fehler (nicht JS), z.B.:
Code:
Kommentare in CSS gehen eigentlich so:
//3 frame style
Code:
außerdem wird CSS nicht wie JS so eingeschlossen:
/* 3 frame style */
Code:
sondern so:
<!--
deinCode //-->
Code:
Zum Schluss noch: Ich würde an deiner Stelle den HTML-Code aus dem echo nehmen und direkt ins Dokument schreiben, Variablen kannst du dann darin per
<!--
deinCode -->
Code:
einfügen. So wird der Code lesbarer und du hast nicht immer diese nervenden Escapes im Code. :)
<?php echo $deine_var ?>
|
Re: (JS|PHP) popup datenübergabe
mit ein wenig gebastel und eueren super hilf habe ich es doch noch geschaft.. vielen dank :D
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz