• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

smileyliste mit klick einfügen

wessei

Neues Mitglied
hallo brauch dringend eure hilfe und zwar hab ich mir jetzt ein array mit den ganzen smiley-codes zusammengestellt, die ich kenne. jetzt hab ich einen code von einem anderen forum bekommen den ich verwende um mit dem klick auf ein smile in die textarea einzufügen.
dieser code funktioniert im FF einwandfrei nur im IE und Opera spricht er nicht mal an und ich weis nicht was da falsch daran ist.

der code dazu ist:
smiley_einfügen.js
Code:
function insert_smiley(aTag, eTag) {
  var input = document.forms['pn_senden'].elements['Text'];
  input.focus();
  /* für Internet Explorer */
  if(typeof document.selection != 'undefined') {
    /* Einfügen des Formatierungscodes */
    var range = document.selection.createRange();
    var insText = range.text;
    range.text = aTag + insText + eTag;
    /* Anpassen der Cursorposition */
    range = document.selection.createRange();
    if (insText.length == 0) {
      range.move('character', -eTag.length);
    } else {
      range.moveStart('character', aTag.length + insText.length + eTag.length);
    }
    range.select();
  }
  /* für neuere auf Gecko basierende Browser */
  else if(typeof input.selectionStart != 'undefined')
  {
    /* Einfügen des Formatierungscodes */
    var start = input.selectionStart;
    var end = input.selectionEnd;
    var insText = input.value.substring(start, end);
    input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
    /* Anpassen der Cursorposition */
    var pos;
    if (insText.length == 0) {
      pos = start + aTag.length;
    } else {
      pos = start + aTag.length + insText.length + eTag.length;
    }
    input.selectionStart = pos;
    input.selectionEnd = pos;
  }
  /* für die übrigen Browser */
  else
  {
    /* Abfrage der Einfügeposition */
    var pos;
    var re = new RegExp('^[0-9]{0,3}$');
    while(!re.test(pos)) {
      pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0");
    }
    if(pos > input.value.length) {
      pos = input.value.length;
    }
    /* Einfügen des Formatierungscodes */
    var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
    input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos);
  }
}

eingefügt in index zwischen <head>|</head>

und die smiley bilder sollten in die textarea eingefügt werden:

pn_weiter.php:

PHP:
<form name="xxx" action"xxx" method="post" accept-charset="ISO-8859-1">
 <div class="pn_senden_antwort">Nachricht:</div>
 <div class="pn_senden_text_an"><textarea class="textarea" name="Text"></textarea></div>
<?php
    include("smile.php");
?>
 <div class="pn_senden_su"><input type="submit" class="submit" name="submit" value="senden"></div>
 <div class="pn_senden_re"><input type="reset" class="reset" value="Zurücksetzen"></div>
</form>

smiley.php:

PHP:
<div class="smile">
    <img src="images/smiley/smile.gif" title="smile" alt="smile" onClick="insert_smiley(' :) ', '')">
    <img src="images/smiley/grin.gif" title="grin" alt="grin" onClick="insert_smiley(' :D ', '')">
    <img src="images/smiley/wink.gif" title="wink" alt="wink" onClick="insert_smiley(' ;) ', '')">
    <img src="images/smiley/neutral.gif" title="neutral" alt="neutral" onClick="insert_smiley(' :| ', '')">
    <img src="images/smiley/sad.gif" title="sad" alt="sad" onClick="insert_smiley(' :( ', '')">
    <img src="images/smiley/cry.gif" title="cry" alt="cry" onClick="insert_smiley(' ;( ', '')">
    *******

</div>

kann mir jemand sagn was ich falsch gemacht hatte?
währ mir eine sehr große hilfe.

mfg. wessei
 
Werbung:
Also ich kenne mich mit JS nicht wirklich gut aus... Aber ich habe mir vor längerer Zeit mal ein Gästebuchscript gebastelt, was ich auch mit Smileys anreichern wollte. Das ist der Javascriptteil:
Code:
function insert(tag) {
document.editor.eintrag.value += tag+"";
document.editor.eintrag.focus();
}
So ist das Formular inklusive Smileys aufgebaut:
HTML:
<form method="post" name="editor" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">

<label for="name">Name</label><input name="name" type="text" maxlength="25" /><br />
<label for="eintrag">Eintrag:</label>
<textarea name="eintrag" id="feld" rows="5" cols="40"></textarea>


<img src="Smiley/lol.gif" style="width:??px; height:??px; border:0px;"
 onclick="insert(':lol');"  title="lol"/>
 <img src="Smiley/1.gif" style="width:??px; height:??px; border:0px;"
 onclick="insert(':)');" title="l&auml;cheln" />
 <img src="Smiley/5.gif" style="width:??px; height:??px; border:0px;"
 onclick="insert(':D');" title="grins" />
 <img src="Smiley/nee.gif" style="width:??px; height:??px; border:0px;"
 onclick="insert(':nee');" title="nein" />
  <img src="Smiley/wackler.gif" style="width:??px; height:??px; border:0px;"
 onclick="insert(':wackel');" title="nicken" />
  <img src="Smiley/13w.gif" style="width:??px; height:??px; border:0px;"
 onclick="insert(':was?');" title="was??" />
 <img src="Smiley/motz.gif" style="width:??px; height:??px; border:0px;"
 onclick="insert(':motz');" title="motz" />
 <img src="Smiley/aua.gif" style="width:??px; height:??px; border:0px;"
 onclick="insert(':aua');" title="aua" />
 <img src="Smiley/beifall.gif" style="width:??px; height:??px; border:0px;"
 onclick="insert(':klatsch');" title="bravo" />
 <img src="Smiley/rofl.gif" style="width:??px; height:??px; border:0px;"
 onclick="insert(':ROFL');" title="ROFL" />
 <img src="Smiley/lachhaft.gif" style="width:??px; height:??px; border:0px;"
 onclick="insert(':lach');" title="lachhaft" />
 
<input type="submit" value="Eintrag speichern" />
</form>
Das müsste klappen.
 
Werbung:
Zurück
Oben