Malte Kiefer: Problem mit Smilies

Hi,

ich habe ein Forumluar, wo man Smilies reinpacken kann ins Textfeld meine ich.
Das klappt auch alles. Jetzt habe ich aber ein Link gemacht, das sich ein weiteres Fenster öffnet wo noch mehr smilies drinne sind. Aber wenn ich auf die Smilies klicke, werden diese nicht eingefügt ind das Textfeld,weiß nicht warum, könnt ihr mir helfen.

formular:

  
  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  
 "http://www.w3.org/TR/xhtml1/DTD/Strict.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">  
<head>  
<meta name="description" content="Dieses Singelbörese ist nicht wie die ganzen anderen Singelbörsen. Wir versuchen hier Christen zu vereinen.">  
<meta name="author" content="Malte Kiefer">  
<meta name="keywords" content="Christen,Singelbörse,Christliche Singelbörse">  
<link href="../layout/design.css" rel="stylesheet" type="text/css">  
<link rel="../layout/icon" href="favicon.ico" type="image/ico">  
<title>Christliche Singelbörse</title>  
<script language="JavaScript">  
<!--  
function SmilieEinfuegen(Smilie)  
{  
 document.message.message.value+=Smilie+" ";  
 document.message.message.focus();  
}  
//-->  
</script>  
</head>  
<body>  
<div style="width:700px;margin:0px auto;text-align:left;background-color:#bdbec6;border:1px solid #000000;">  
 <div id="title">  
 <!- Header ->  
 </div>  
  
 <div id="left">  
 <br>  
  <div class="menucontainer">  
   <p class="menutitle">Navigation</p>  
   <a class="menu" href="../search/search.php">Suchen</a>  
   <a class="menu" href="../forum/forum.php">Forum</a>  
   <a class="menu" href="../links.php">Links</a>  
   <a class="menu" href="../impressum.php">Impressum</a>  
   <a class="menu_user" href="../user_interface/user_interface.php">User</p>  
   <a class="menu" href="../profil/profil.php">Profil</a>  
   <a class="menu" href="gbook.php">Gästebuch</a>  
   <a class="menu" href="message.php">Message Center</a>  
   <a class="menu" href="../optionen/password.php">Passwort ändern</a>  
   <a class="menu" href="../optionen/optionen.php">Optionen</a>  
   <a class="menu" href="logout.php">Ausloggen</a>  
  </div>  
 </div>  
  
 <div id="content">  
<br><img src="../icons/message.ico"><h1><center>Message Center</center></h1><br>  
<center>Sie haben jetzt die möglichkeit, Usern von C.S. Nachrichten zuschicken.</center>  
 <br>  
<center>  
<br>  
<form action="<?php $_SERVER["PHP_SELF"]?>" method="post" name="message">  
<table width="50%">  
 <tr>  
          <td>Empfänger:</td>  
          <td><input type="text" name="empfaenger" size="30" class="register"></td>  
         </tr>  
         <tr>  
          <td>Betreff:</td>  
                 <td><input type="text" name="subject" size="30" class="register"></td>  
         </tr>  
         <tr>  
          <td>Message:</td>  
                 <td><textarea name="message" class="register" rows="5" cols="22"></textarea>  
                 <a href="javascript:SmilieEinfuegen(':angry:')"><img border="0" src="../smilies/angry.gif"></a>  
  <a href="javascript:SmilieEinfuegen(':biggrin:')"><img border="0" src="../smilies/biggrin.gif"></a>  
  <a href="javascript:SmilieEinfuegen(':blackeye:')"><img border="0" src="../smilies/blackeye.gif"></a>  
  <a href="javascript:SmilieEinfuegen(':cry:')"><img border="0" src="../smilies/cry.gif"></a>  
  <a href="javascript:SmilieEinfuegen(':dolar:')"><img border="0" src="../smilies/dolar.gif"></a>  
  <a href="javascript:SmilieEinfuegen(':dum:')"><img border="0" src="../smilies/dum.gif"></a>  
  <a href="javascript:SmilieEinfuegen(':evil:')"><img border="0" src="../smilies/evil.gif"></a>  
  <a href="javascript:SmilieEinfuegen(':happy:')"><img border="0" src="../smilies/happy.gif"></a>  
  <a href="javascript:SmilieEinfuegen(':headphones:')"><img border="0" src="../smilies/headphones.gif"></a>  
  <a href="javascript:SmilieEinfuegen(':knockedout:')"><img border="0" src="../smilies/knockedout.gif"></a>  
<a href="javascript:void();" onClick="window.open('smilies.html','smiliewin','width=500,height=500,scrollbars=yes,location=no,status=no');"><center>weitere Smilies</center></a>  
  
                 </td>  
         </tr>  
         <tr>  
          <td>&nbsp;</td>  
                 <td><center><input type="submit" name="absenden" class="register" value="Senden >>"></center></td>  
         </tr>  
</table>  
</form>  
</center>  
<p>&nbsp;</p>  
  
  
  
</div>  
<br style="clear:both;" />  
</div>  
</body>  
</html>  
  

-------------------------------------------------------------
Hier das zweite Fentser:
-------------------------------------------------------------

  
<html>  
<head>  
<title></title>  
<meta name="author" content="Dieter">  
<meta name="generator" content="Ulli Meybohms HTML EDITOR">  
<script language="JavaScript">  
<!--  
function SmilieEinfuegen(Smilie)  
{  
 document.message.message.value+=Smilie+" ";  
 document.message.message.focus();  
}  
//-->  
</script>  
</head>  
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">  
                 <a href="javascript:SmilieEinfuegen(':angry:')"><img border="0" src="../smilies/angry.gif"></a>  
  <a href="javascript:SmilieEinfuegen(':biggrin:')"><img border="0" src="../smilies/biggrin.gif"></a>  
  <a href="javascript:SmilieEinfuegen(':blackeye:')"><img border="0" src="../smilies/blackeye.gif"></a>  
  <a href="javascript:SmilieEinfuegen(':cry:')"><img border="0" src="../smilies/cry.gif"></a>  
  <a href="javascript:SmilieEinfuegen(':dolar:')"><img border="0" src="../smilies/dolar.gif"></a>  
  <a href="javascript:SmilieEinfuegen(':dum:')"><img border="0" src="../smilies/dum.gif"></a>  
  <a href="javascript:SmilieEinfuegen(':evil:')"><img border="0" src="../smilies/evil.gif"></a>  
  <a href="javascript:SmilieEinfuegen(':happy:')"><img border="0" src="../smilies/happy.gif"></a>  
  <a href="javascript:SmilieEinfuegen(':headphones:')"><img border="0" src="../smilies/headphones.gif"></a>  
  <a href="javascript:SmilieEinfuegen(':knockedout:')"><img border="0" src="../smilies/knockedout.gif"></a>  
</body>  
</html>  

  1. Danke hat sich geklärt habe auf der smilies Seite vor document einfach noch ein opener gesetzt schon hat es geklappt danke..

  2. Hi,

    <script language="JavaScript">
    <!--
    function SmilieEinfuegen(Smilie)
    {
    document.message.message.value+=Smilie+" ";
    document.message.message.focus();
    }
    //-->
    </script>

    Dein Script versucht, auf das Textfeld "message" in Formular "message" zuzugreifen, das sich im Dokument (document) befindet.
    Wenn nichts anderes angegeben ist, ist das immer das Dokument in dem Fenster, in dem sich auch das Script befindet bzw. ausgeführt wird.
    Du willsts aber nicht in dem neu geöffneten Fenster in ein Textfeld einfügen, sondern in dem, das dieses Fenster geöffnet hat.
    Also mußt du das auch schreiben:

    <script language="JavaScript">
    <!--
    function SmilieEinfuegen(Smilie)
    {
    opener.document.message.message.value+=Smilie+" ";
    opener.document.message.message.focus();
    }
    //-->
    </script>

    Wie hier üblich noch folgende Anmerkungen (kein Anspruch auf vollständigkeit):

    Skriptnotierung sollte so erfolgen:
    <script type="text/javascript">
    (evtl. für Abwärtskompatibilität noch  language="JavaScript"  mit reinpacken)

    <a href="javascript:Funktion()">....
    is auch nich so toll.

    Besser:
    <a href="" onclick="Funktion();return false;">....

    Am besten dann noch ne sinnvolle Alternativ-URL in den href rein, damit auch was kommt, wenn Javascript ausgeschaltet ist.

    Gruß
    Peter

    1. Hi,

      hatte die falsche Registerkarte erwischt, da lag noch das Forum drin das ich ne Weile nicht aktualisiert hatte.
      Hatte nicht gesehen, daß dus schon längst gelöst hast.

      nacht...
      Peter