smiley funktion mit mehreren textarea's

fabianfischer

Grünschnabel
Hallo Jungs,

ich hab da ein kleines Problem welches mich wahsinnig macht, folgendes: Also ich generiere mit PHP eine Bilder Liste und zu jedem angezeigten Bild gehört eine textarea in die man Kommentare zu den Bilder schreiben kann, dass auch alles super, nun möchte ich aber das man auch smileys in die Kommentar felder einfügen kann. Einfachste lösung währe nun mit jedem neuen Bild ein neues Java Script zu generieren welches den namen der textarea enhält bzw. aktualisiert. Diese Lösung ist aber meines erachtens zu Speicher intesiv bei nen par hundert bilder also dachte ich mir ich mach über die komplette Liste ne Auswahl von Smileys welche sich bei Klick in die entsprechende Kommentar Box reinkopiert, doch da liegt mein Problem da ich nich wirklich nen blassen von JS habe weiß ich nicht wie man es schaft bei anklicken der kommentar box sie als zielort für das smiley zu definieren.

Meine Vorstellung sieht so aus, in die Textarea klicken dann wird dem JS gesagt wie die Area heißt wo der Smiley dann durch einen weiteren Klick auf das Smiley Symbol rein kopiert werden soll. Währe für eine Lösung bzw. Ergänzung echt dankbar.

Code:
<textarea rows='2' name='_kommentar$daten[0]' cols='20' ></textarea>
//Die textarea mit generierten Namen

<a href="javascript:newhtml(';-)')">Smiley</a>
//sendet den code an das JS klappt aber logischer weise nicht wenn die textarea nicht box heißt

<script language="javascript">

function newhtml(code) {
    document.check2.box.value += code;
    document.check2.box.focus();
}
// Schreibt in die textarea box den gesendeten code.
</script>
 
z.B. so:
Code:
<script type="text/javascript">
aktuellesFeld=false;
</script>
<textarea onclick="aktuellesFeld=this"></textarea>
 
Es wird eine Variable "aktuellesFeld" deklariert.
Sobald du in ein Textfeld klickst, wird diese Variable mit einem Objekt gefüllt...und zwar dem Textfeld selbst.
In deiner Funktion kannst du dann diese variable verwenden, um den Inhalt des Textfeldes zu Ändern:
Code:
function newhtml(code) {
  if(aktuellesFeld)
    {
      aktuellesFeld.value += code;
      aktuellesFeld.focus();
    }
}
 

Neue Beiträge

Zurück