Willkommen in der Webstatt Zum Webstatt Blog und Stories
core-design am 29.03.08 15:17

Grüß euch!

Ein kleines Problem, füge Smilies in ein textarea Feld ein. Das passt auch alles

<script type="text/javascript">
<!--
function insert(aTag, eTag) {
var input = document.forms['eintragen'].elements['text'];
input.focus();
/* für Internet Explorer */
if(typeof document.selection != '') {
/* 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');
} else {
range.moveStart('character', aTag.length + insText.length + eTag.length);
}
range.select();
}
/* für neuere auf Gecko basierende Browser */
else if(typeof input.selectionStart != '')
{
/* 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);
}
}
//-->
</script>


<textarea rows="9" name="text" cols="30"></textarea>
<a href="javascript:insert(':pinklove:', '')"><img src="smilies/liebe/pinklove.gif" width="22" height="29" /></a>


Das funktioniert auch einwandfrei, jedoch habe ich jetzt einen Editor mit eingefügt und auf einmal kann ich keine Smilies mehr einfügen.

NEU

<?php
$oFCKeditor = new FCKeditor('text') ;
$oFCKeditor->BasePath = 'editor/' ;
$oFCKeditor->ToolbarSet = 'Basic';
$oFCKeditor->Create() ;
?>


Danke für eure Hilfe

Christopher

netcup.de Warum gibt es hier Werbung?
Zeronet Zeronet am 30.03.08 22:59

Hast du irgendwo ein Beispiel online?

Johannes am 31.03.08 07:04

Soweit ich das weiß fügt der FCKeditor kein textarea, sondern ein iframe ein.
Man kann aber die Menupunkte beeinflussen, vielleicht gibt es ja schon eine Vorgefertigte Smilie-Funktion. das weiß ich jetzt nicht

core-design am 31.03.08 12:42

Grüß euch danke für eure Antworten.

Stimmt der Editor wird mit IFRAME eingefügt, kann ich jetzt nicht einfach den JavaScript sagen das er im IFRAME den Text(Smilies) einfügt?



IFRAME id:text___Frame


Das habe ich noch gefunden im PHP Code:
$Html .= "<textarea name=\"text\" rows=\"4\" cols=\"40\" style=\"width: {$WidthCSS}; height: {$HeightCSS}\">{$HtmlValue}</textarea>" ;
}


Jedoch schreibt er nich im IFRAME hinein, keine Ahnung wieso?

Vielen Dank, Christopher

nuit nuit am 31.03.08 23:13

ja kannst du:

var input = document.forms['eintragen'].elements['text'];

das musst du ändern....hab den iframe namen bei jex nicht wirklich lesen können :P kanns du hier nochmal sagen, wie der heisst?

core-design am 01.04.08 08:43

IFRAME NAME lautet XXEDITORXX

Danke Chris

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt