Smilies in Textarea einfügen ....

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Smilies in Textarea einfügen ....

    Hallo zusammen , ich habe hier ein kleines Script so das ich BBCodes in eine Textarea bekomme

    Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    
    <html>
    <head>
    <script language="JavaScript" type="text/javascript">
    function cur_ins(field, startTag, endTag, offset) {
     field.focus();
     if (document.getSelection) { //FF, NS
       selStart = field.selectionStart;
       selEnd = field.selectionEnd;
       text = field.value.substring(selStart, selEnd);
       field.value = field.value.substring(0, selStart) + startTag + text + endTag + field.value.substring(selEnd);
       if (text.length > 0) {
         if (offset != 0) {
           field.selectionStart = selStart + startTag.length + text.length - offset;
         } else {
           field.selectionStart = selStart + startTag.length + text.length + endTag.length;
         }
       } else {
          field.selectionStart = selStart + startTag.length;
       }
       field.selectionEnd = field.selectionStart;
     } else 
     if (document.selection) { //IE
         marker = document.selection.createRange();
         text = marker.text;
         marker.text = startTag+text+endTag;
         marker = document.selection.createRange();
         if (text.length > 0) {
           if (offset != 0) {
             marker.move('character', startTag.length + text.length - offset);
           } else {
             marker.move('character', startTag.length + text.length + endTag.length + offset);
           }
         } else {
           marker.move('character', -(endTag.length));
         }
         marker.select();
      }
    }
    </script>
    </head>
    <body>
    <form action="" method="post">
    <textarea id="text" name="text" cols="48" rows="10"></textarea>
    <input type="button" value="fett" onclick="cur_ins(this.form.text, '[b]', '[/b]');" name="fett"> 
    <input type="button" value="kursiv" onclick="cur_ins(this.form.text, '[i]', '[/i]');" name="kursiv">
    <input type="button" value="unterstrichen" onclick="cur_ins(this.form.text, '[u]', '[/u]');" name="unterstrichen">
    <input type="button" value="zentriert" 
    onclick="cur_ins(this.form.text, '[center]', '[/center]');" name="zentiert">
    </form>
    </body>
    </html>
    nun möchte ich aber ein Smilie einfügen , versuche wie :

    <img src='../bilder/smilies/confused.gif' onclick="cur_ins(this.form.text, ':confuse:');" alt='verwirrt'>

    schlugen fehl . Kann mir da jemand ein Tip geben ?

    mfg Launebaer

  • #2
    Eine TEXTarea ist für Text da. Wenn Du Grafik oder formatierten Text darstellen möchtest, musst du dir ein Wysiwyg-Textareaersatz besorgen. z.b. tinymce oder fckeditor.

    oder ich hab dich falsch verstanden..
    mfg

    Kommentar


    • #3
      es geht mir darum das er bei einen klick auf einen smilie eine zeichenfolge in die textarea schreibt ,

      so wie er bei klick auf FETT das [ b ] und [ / b] schreibt .

      also Button , siehe oben klappt es ja nur als Bild nicht

      Kommentar


      • #4
        Ich bin mir sicher, dass du eine Fehlermeldung angezeigt bekommst.
        im FF z.B. über die JS-Konsole...

        Kommentar


        • #5
          ja das stimmt , aber damit kann ich nichts anfangen :

          Fehler: this.form has no properties
          Zeile: 1

          naja , werd mal weitersuchen ob ich irgentwas finde

          danke trotzdem


          mfg Launebaer

          Kommentar


          • #6
            Code:
            function emoticon(emo){
             area=document.forms.formname.textareaname;
             area.focus();
             if(document.selection){
              document.selection.createRange().text = emo;
             }else if(window.getSelection) {
              area.value = area.value.slice(0,area.selectionStart) + emo +
              area.value.slice(area.selectionEnd, area.textLength);
             }else{
              area.value+=emo;
             }
            }

            Kommentar


            • #7
              ^^ für was ist dieses ?

              wenn ich dies funktion zu meiner packe tut sich nichts


              vielleicht habe ich ja auch nur das bild :

              <img src='../bilder/smilies/confused.gif' onclick="cur_ins(this.form.text, ':confuse:');" alt='verwirrt'>


              falsch geschrieben , also die onclick sache

              Kommentar


              • #8
                Junge, junge...

                das sieht mir auf den ersten blick nach einer funktionierenden alternative aus...

                Versuch mal den code zu verstehen und geh nicht immer davon aus, dass man alles, was man gepostet bekommt, einfach so einbauen kann.

                Kommentar


                • #9
                  Original geschrieben von launebaer
                  Fehler: this.form has no properties
                  <img> ist kein Formularelement, also kennt es auch keine Eigenschaft form.

                  Greife auf eine andere Weise auf das Formular zu, oder nutze ein wirkliches Formularelement.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar

                  Lädt...
                  X