Marianne35: window.open

Beitrag lesen

Liebe Marianne35,

Vielleicht ist jemand so nett und schreibt es um
wenn jemand Dir die Arbeit abnimmt, dann lernst Du ja nix dabei... Daher will ich Dir eine kleine Anleitung zur Selbsthilfe geben.

<input onClick="window.open('./smilies.php','Name','toolbar=no,status=no,menubar=no,width=95,height=145,left=600,top=250')" type="button" name="smilies" value=":-)" />

Ich schreibe den Javascript-Teil aus Deinem OnClick-Attribut einmal schöner leserlich (als wäre es aus einer externen Javascript-Datei):

window.open('./smilies.php',

'Name',
            'toolbar=no,
             status=no,
             menubar=no,
             width=95,
             height=145,
             left=600,
             top=250'
            );


>   
> Eine Anmerkung: Die Funktion open() gibt einen Wert (Referenz) zurück, mit dem man auf das Popup-Fenster zugreifen kann. Den sollte man nicht "verschwenden", sondern einer Variablen zuweisen. Das ist später einfacher, als den Fensternamen (in Deinem Fall "Name" - das zweite Argument in der Klammer) dafür zu benutzen.  
>   
> Vorschlag: `var SmileyPopup = window.open('./smilies.php','Name','...');`{:.language-javascript}  
>   
> > Ich hätte gerne das dieses geöffnete fenster vorne bleibt  
> Das bedeutet, dass Du auf das Popup-Fenster den Fokus setzen musst. Dazu gibt es die Funktion focus(). Nach der Einfügung müsste also die focus()-Methode auf das Popup angewandt werden. Dazu müsste man wissen, wie und wo diese Einfügung aufgerufen wird, um dort im Anschluss den Fokus zurück auf das Popup zu setzen.  

\---------------------------------------------------------------  
Vielen dank für die Mühe Felix  
wenn du mir jetzt die opens und focuse einsätzen könntest währe Lieb..........  
\----------------------------------  
Hier die Eingabe  
  
<input class="button" type="submit" name="gesendet" value="eintragen" /> <input class="button" type="reset" name="reset" value="l&ouml;schen" /> <input onClick="window.open('./smilies.php','Name','toolbar=no,status=no,menubar=no,width=95,height=145,left=600,top=250')" type="button" name="smilies" value=":-)" />  
  
hier ist mein kleines Fenster  
UND JETZT DIE AUSGABE  
  
<html>  
<head>  
<link rel="stylesheet" href="<?=$style ?>" type="text/css">  
<script language="JavaScript">  
function smilie(smilietext) {  
  opener.document.sms.text.value += smilietext+" ";  
  opener.sms.text.focus();  
}  
</script>  
<title>Smilies :-)</title>  
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">  
</head>  
  
<body bgcolor="#FFFFFF" text="#000000">  
<table width="84" border="0">  
    <?PHP  
        include\_once "gb\_smilies.php";  
        $smile=array\_unique($smilies);  
        $zaehler=0;  
        while (list($smilie, $bild) = each($smile)) {  
          if ($zaehler % 4 == 0) echo "<tr>";  
            echo "<td><a href=\"javascript:smilie(' ".$smilie." ')\"><img src=\"".$smilie\_dir.$bild."\" title=\"".$smilie."\" alt=\"".$smilie."\" width=\"15\" height=\"15\" border=\"0\"></a></td>";  
            if ($zaehler % 4 == 4) echo "</tr>";  
          $zaehler++;  
        }  
      if ($zaehler %4 != 4) echo "</tr>";  
    ?>  
</table>  
\----------------------  
danke dir Marianne35  
  

>   
> Wenn Du das Popup-Fenster einer Variablen zugewiesen hast, dann kannst Du analog zu meinem Vorschlag "SmileyPopup.focus()" schreiben, damit das Fenster wieder in den Vordergrund geholt wird. Aber ohne Deinen Einfüge-Code näher zu kennen, bleibt mir nur zu raten.  
>   
> Hinweis: Wenn Du die Einfügefunktion im Popup-Fenster stehen hast, dann kannst Du mit "self" anstatt "mit SmileyPopup" auf das Popup-Fenster verweisen. Das geht so: `self.focus()`{:.language-javascript}  
>   
> Liebe Grüße aus [Ellwangen](http://www.ellwangen.de/),  
>   
> Felix Riesterer.