fr3ax: smiliefunktion bei gästebuch

hi,
ich programiere zur zeit ein gästebuch mit php.
im moment sitze ich daran, dass man neben der texteingabe ein par smilies zum draufklicken hat. wenn man dann halt auf einen smilie klickt soll der entsprechende code dafür (z.b. ":-)" ) ans ender der texarea angehängt werden.
klappt leider nicht, finde auch keine fehler.
ich vermute aber es liegt am formular.
vieleicht hat ja einer ne idee.
hier der code:

mfg fr3ax

<html>
 <head>
  <title> Gaestebuch </title>
  <link rel="stylesheet" type="text/css" href="gb.css" />
  <script type="text/javascript">

function add_smilie(smilie)
   {
    document.new.email.value = document.new.email.value + smilie;
   }

</script>
 </head>
 <body>

<!-- Gästebuch Eingabemaske ANFANG -->

<form name="new" action="new.php" method="post">
   <table width="400">
    <tr>
     <td> Name: </td>
     <td> <input type="text" size="30" name="name" class="input_text"> </td>
    </tr>
    <tr>
     <td> E-Mail: </td>
     <td> <input type="text" size="30" name="email" class="input_text"> </td>
    </tr>
    <tr>
     <td> Homepage: </td>
     <td> <input type="text" size="30" name="homepage" class="input_text"> </td>
    </tr>
    <tr>
     <td valign="top"> Ihr Text: </td>
     <td> <textarea rows="10" cols="22" name="text" class="input_text"></textarea> </td>
    </tr>
    <tr>
     <td colspan="2" align="center"> <input type="submit" value="Senden" class="input_button"> </td>
    </tr>
    <tr>
     <td rowspan="5">
      <a href="javascript:add_smilie('smile.gif')"> <img src="smilies/smile.gif" border="0"> </a>
     </td>
    </tr>
   </table>
  </form>

<!-- Gästebuch Eingabemaske ENDE-->

<!-- hier kommt php code -->

</body>
</html>

  1. echo $begrüßung;

    klappt leider nicht, finde auch keine fehler.

    "klappt nicht" klappt nicht. Ein "leider" hilft da auch nicht weiter. Was weiter hilft ist die Javascript-Konsole unterm FF und die fehleranzeigenden Mechanismen anderer Browser. Diese zeigen dir die Stelle an der der Fehler steckt und sagen auch, was nicht stimmt, z.B. wenn man Schlüsselwörter als Bezeichner verwendet.

    echo "$verabschiedung $name";

  2. Hallo fr3ax,

    klappt leider nicht, finde auch keine fehler.

    wie dedlfix schon gesagt hat: Debugger anschmeißen (den hat sogar der IE).

    function add_smilie(smilie)
       { document.new.email.value = document.new.email.value + smilie; }
       [...]
      <form name="new" action="new.php" method="post">
         <td> <textarea rows="10" cols="22" name="text" class="input_text"></textarea> </td>

    du verwendest dieses alte Konzept um auf Formularelemente zuzugreifen. Das name-Attribut ist inzwischen sogar schon obsolete, stattdessen lieber "id" verwenden:

    <textarea id="text" [...]></textarea>

    und in der kleinen JavaScript-Funktion:

    document.getElementById("text").value = document.getElementById("text").value + smilie;

    Im Übrigen heißt es "Smiley"

    Grüße,

    Sven

    PS:

    ich programiere zur zeit ein gästebuch mit php.

    das ist Übrigens völlig unerheblich. Es handelt sich allein um ein klientseitiges JavaSCript-Problem. Ob du auf der Serverseite PHP, Perl, meinetwegen Python oder halt klassisches C nimmst ist dabei völlig irrelevant.