Smilie in Textarea einfügen

Nucleus

Erfahrenes Mitglied
hi,
ich generiere ein pop up fenster mit java und habe in das feld ein smilie hinzugefügt.
Nun will es so machen das wenn ich auf das smilie klicke es in die textarea eingefügt wird -> aber es nicht und ich weiß nicht warum kan mir da jemand weiterhelfen Danke schon einmal.

PHP:
<SCRIPT LANGUAGE="JScript">
<!--
function fsmilies(Zeichen) {
   document.klonforum.newContent.value =
   document.klonforum.newContent.value + Zeichen;
}
var oPopup = window.createPopup();
function openPopup()
{

var oPopBody = oPopup.document.body;
oPopBody.innerHTML = "<div style='position:absolute; top:0; left:0; " +
"width:271px; height:284px; " + "background : background;> " +
"<hr size='0'>" + "<a href='fsmilies(' :  ) ')'><img src='smilie.gif' border='0'></a></div>"
oPopup.show(-220, 160, 271, 284, document.body);
}
</SCRIPT>


<a href="#adsmilies" ONCLICK="openPopup();">Öffne PopUp</a>
 
Zuletzt bearbeitet:
ja nur text also ich klicke auf das popup drauf und darin befinden sich die smilies wenn ich jetzt draufklicke soll zb :) in die Textarea eingetragen werden - nur bei meinem code weiß ich nicht so ganz wie ich das übergeben soll.


Weißt du wie das geht ?

mfg nucle
 
Ahso....
das sollte mit
Code:
function fsmilies(Zeichen) {
   opener.document.klonforum.newContent.value =
   opener.document.klonforum.newContent.value + Zeichen;
}
Da sich das Textarea nicht im Popup befindet,kannst du es nicht direkt ansprechen...du musst erstmal das Zielfenster ansprechen....in dem Fall mit "opener"...das ist das Fenster,von welchem aus das Popup geöffnet wurde.

BTW.: dein Skriptcode ist recht IE-spezifisch,der dürfte in anderen Browsern nicht funktionieren.
:(
 
hmm kennst du vielleicht eine andere methode von popups die auch in anderen browsern gehen ?

Wäre super weil ich habe gerade mein eigenes Forum programmiert ist net hyper genail aber für ne normale Homepage reicht es und includen kann man es auch!

Und das normale popup fenster gefällt mir nicht wirklich deswegen versuche ich das irgendwie anders zu gestalten.
Aber anscheinend zu IE mäßig.
hmmmmmmm

http://knusperleicht.at/php/index.php?knuspi=forum&kfsektor=boards


mfg nucle
 
Zuletzt bearbeitet:
Hallo,

hier eine andere Art deine Funktion zu verwirklichen. Funktioniert in allen "großen" Browsern und sollte auch in anderen klappen... Bei fragen zum Code einfach fragen :)

Code:
<html>
<head>
  <script type="text/javascript">
  function smile(){
      var html = '<html><head></head><body>';
          html += '<a href="#" onClick="opener.insert(\':-)\'); return false;">:-)</a><br>\n';
          html += '<a href="#" onClick="opener.insert(\':-|\'); return false;">:-|</a><br>\n';
          html += '<a href="#" onClick="opener.insert(\':-(\'); return false;">:-(</a><br>\n';
          html += '</body></html>';
      
       var popup = open("", "smile", "width=300 ,height=400");
       with(popup.document){
           open();
               write(html);
           close();  
       }      
  }
  
  function insert(smily){
        document.demo.test.value += smily;
  }
  </script>
</head>
<body>
<form name="demo">
  <textarea name="test"></textarea>
  <a href="#" onclick="smile(); return false">:-) einfügen</a>
</form>
</body>
</html>

ciao
 
Danke für deine Antwort :

Was wird da genau gemacht ? Versteh ich nicht ganz ?
PHP:
   with(popup.document){
           open();
               write(html);
           close();


Ausserdem kommt bei mir eine Fehlermeldung Objekt nicht gefundne.
Danke für die Antwort
mfg nucle
 
Hallo,

also wir öffenen ein neues Popup Fenster und behalten die Referenz in "popup" - damit wir auf das neue Fenster auch zugreifen können. Wir geben bei Window.open kein Dokument an, welches geöffnet werden soll, deswegen Öffnen wir das Dokument -> open(), dann schreiben wir den Quelltext des Dokuments mit write(html) in das Dokument und schließen es zum schluss mit close(). "with(popup.document)" ist ein shortcut, sonst müssten wir schreiben
Code:
popup.document.open();
popup.document.write(html);
popup.document.close();
Das was wir in das Dokument schreiben, haben wir weiter oben bereits bestimmt und in der Variablen "html" gespeichert.... Der Fehler "Objekt nicht gefunden" weist für mich darauf hin, dass dein Formular anders benannt ist, bzw du einen "zugriffspfad" (document.xxx.xxx.value) nicht korrekt angepasst hast. - überprüfe das nochmal - sollte der Fehler nicht gefunden werden, einfach mal den ganzen Code posten...

bye
 
ah danke für die erklärung habe so ziemlich alles verstanden - ich probier es jetzt einmal aus

für deine schelle antwort und Hilfe


mfg nucle
 
PHP:
<html>
<head>
  <script type="text/javascript">
  function smile(){
      var html = '<html><head></head><body>';
          html += '<a href="#" onClick="opener.insert(':-)'); return false;">:-)</a><br>';
          html += '</body></html>';
      
       var popup = open("", "smile", "width=300 ,height=400");
       with(popup.document){
           open();
               write(html);
           close();  
       }      
  }
  
  function insert(smily){
        document.demo.test.value += smily;
  }
  </script>
</head>
<body>
<form name="demo">
  <textarea name="test"></textarea>
  <a href="#" onclick="smile(); return false">:-) einfügen</a>
</form>
</body>
</html>

hmm is aber genau wie deines und der Fehler kommt !


opener -> ruft die funktion insert in dem popup auf stimmt das ?





Ich weiß shonmal an was es liegt - die smilies will er nicht aber keine ahnung warum.
 
Zuletzt bearbeitet:
Zurück