Ich habe das selbe problem.
Meine Theorie:
Ich habe ein Formular und ein Textfeld darin. Hinter dem Textfeld befindet sich ein Link (<a>) welcher ein Popup öffnet und dann meine Bilder in Ordner XYZ ausliest.
Das Popup geht auf und die Bilder werden gelistet (mit php) - das geht prima.
Nun wollte ich das ich auf ein Bild klicke und die Adresse des Bildes in das Textfeld vom vorherigen Fenster geschrieben wird. Hmm... das funktioniert mal wieder nicht. :-(
-> Php-Script (funktioniert):
PHP-Code:
<?php
//Bilderpopup
$bild = $nr;
$bild = 'bild'.$nr;
//echo $bild;
$verzeichnis = "./gfx/projekte/";
//Öffnen der Bilder
if(is_dir($verzeichnis))
{
if($dh2 = opendir($verzeichnis))
{
echo '<span style="width:450px;">';
while(($datei = readdir($dh2)) !== false)
{
if ($datei != "." && $datei != "..")
{
//Datei = Dateinamen! :-)
//echo $datei.'<br>';
echo '<a href="./gfx/projekte/'.$datei.'" onclick="javascript: abc(this.href,"'.$bild.'"); return false;"><img src="./gfx/projekte/'.$datei.'" width="200" ></a> ';
}
}
echo '</span>';
}
closedir($dh2);
}
?>
und dazu mein dazugehöriges JS:
Code:
<script>
function abc(adr,feld)
{
alert(feld);
window.opener.document.getElementsById(feld).value = adr;
}
</script>
"feld" wird vorher deklariert - weil ich habe in meinem Projekt 3 Textfelder wo jeweils ein Bild reinsoll. Damit php das rafft wird an mein Popup noch ein Parameter gesendet.
Das Phänomen: trotz das die JS-FUnktion in der selben Datei ist wie mein obiger PHP-Schnipsel, öffnet sich nicht einmal das alert();
Wo ist der Fehler?