PHP variable aus pop-up fenster an "mutterframe" weitergeben

redback79

Erfahrenes Mitglied
hallo erst mal...

ich habe da folgendes problem:

ich habe in meiner seite ein internes mailsystem integriert. bisher musste der benutzer immer den namen des empfägers genau wissen, um ihm eine kurznachricht zu schicken... nun folgendes.
wenn der user auf "empfänger" drückt wird ein per javascript erstelltes fenster (pop-up) geöffnet in dem er nach dem gewünschten empfänger suchen kann. war die suche erfolgreich (lieferte ergebnisse), kann er per radio-button eine person aus einer liste der personen auswählen, die den suchkriterien entsprechen. (-sorry- aber ich weiss nicht, wie ich das sonst erklären will... :-( )

nach drücken des buttons "einfügen", soll dann das pop-up fenster wieder geschlossen werden und das textfeld "empfäger" mit dem entsprechenden usernamen "gefüllt" werden...

all das php und mysql zeugs funzt eigentlich prächtig, nur weiss ich nicht, wie ich per javascript die seite "ansprechen" kann, von der aus das pop-up geöffnet wurde... kann mir da jemand helfen?

ich habs mit folgender funktîon versucht: (wobei das mutterframe frame nr.6 im frameset ist)

Code:
<SCRIPT language="JavaScript"><!--
function link(link1)
{
parent.frames[6].location.href=link1;
}

//--></script>

..und dann im body

<INPUT TYPE="BUTTON" value="einfügen" onclick="link('message_out.php?empfanger=$empfanger');>

bin ich total auf dem holzweg?


danke im voraus

mfg redback

---------------------------------------------------------------------
nachtrag: wenn ich es so machen will wie oben, dann müsste ja eigentlich das pop-up fenster selbst frames enthalten... ;-)
 
Zuletzt bearbeitet:
Hi!

Ich hatte letztens dasselbe Problem. Durch Zufall bin ich drauf gekommen: Das Mutterfenster wird immer mit "opener" angesprochen. Die Methode mit "frames[6]" klappt nicht.

Also so:

function link(link1)
{
opener.location.href=link1;
}

Easy, wenn man es weiß ;o)!

Bye,
Nummer2
 
danke für den tip..

ich hab deine variante ausprobiert, doch da hat was nicht damit gefunzt :) -> aber trotzdem vielen dank! :)

damit der per radiobutton ausgewählte datensatz auch wirklich "übernommen" wird, bedarf es zuerst eines "submit" buttons... dann gelangen die daten an eine neue datei, die sich selbst nach 0.5 sekunden "zerstört" und die variable an das "mutterfenster" weitergibt...

hier der code der "suizidgefährdeten" datei...

PHP:
<html>

<head>

<title>irgendwas</title>
<link rel=stylesheet type="text/css" href="../css/formate.css">

</head>

<?php

echo "<script language=\"JavaScript\">"; 
echo "function CLnRE() {"; 
echo "opener.location.href=\"message_out.php?empfanger=$empfanger\" "; 
echo "}"; 
echo "</script>";  

echo "</head>";

echo "<body onUnload=\"CLnRE()\" onload=\"setTimeout('opener.location.reload();window.close()',500);\">";

?>

</body>

</html>

funtioniert prächtig! :)

mfg redback
 
ich würds n bissl einfacher machen einfach den namen an das textfeld im opener form übergeben per:
opener.document.Formname.Feldname.value = $empfanger;


im opener:
<FORM NAME=Formname>
<INPUT TYPE=hidden NAME=Feldname>
</FORM>


greez
SteKo
 
Zuletzt bearbeitet:
ich weiss jetzt nicht, ob du den beitrag "richtig" durchgelesen hast, aber das problem bestand darin, dass ich die variable vom pop-up zurück ans mutterframe schicken wollte...

mit deiner lösung, würde sich ja alles weiterhin im pop-up fenster abspielen... (oder etwa nicht?)

:)

mfg redback
 
ich glaub du hasst meinen beitrag nicht richtig gelesen *g*

also ich erklärs nochmal n bissl genauer

in deinem popup machst du zb einen link der 1. die variable ans mutterfenster übergibt und 2. das popup schliesset:

echo '<a href="#" onClick="SetVar('.$empfanger.'); this.close();">link</a>'

dann zum script (im head des popup):

<script>
function SetVar(user)
{
opener.document.Form.empfaenger.value = user;
}
</script>



und das kommt in's (form des) mutterfenster:

<FORM NAME=Form>
<INPUT TYPE=hidden NAME=empfaenger>
</FORM>



sollte eigendlich funzen.. wenn nich liegts daran das ichs frei aussm kopf gemacht hab ;) poste sonst einfach nochmal ;)
 
/nachtrag:

würd den empfänger aber eher in eine textbox des mutterfensters ( <input type="text" name="empfaenger"> ) schreiben als in ein verstecktes feld..

greez
SteKo
 
vielen dank!

um einiges einfacher als meine variante! (tut mir leid, dass ich dich zu früh "verurteilt habe! :)

-> in sachen javascript muss ich halt noch über die bücher!

mfg redback
 
Hallo erstmal...

...genau das gleiche Problem habe ich auch, aber bei mir funktioniert das nicht...

Könntet ihr da mal schauen wo der Fehler liegt???


<html>
<head>
<title>Farbe ausw&auml;hlen...</title>
<link rel=stylesheet type="text/css" href="../css/formate.css">
<script language="JavaScript">
function SetVar(user)
{
opener.document.Form.einstellungen[0].value = user;
}
</script>
</head>

<body>

<?
$einstellungen[0]="#FFFFFF";
?>

<a href="#" onClick="SetVar('.$einstellungen[0].'); window.close();">link</a>

</body>
</html>
 
du brauchst ein form an das du die variable übergibst..

wofür willste es denn verwenden?
 

Neue Beiträge

Zurück