WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

HTML, XHTML, CSS , style, XML, Javascript und mehr, Fragen, Tipps und Anregungen zu diesen Basic Techniken - hier rein !


Forum » HTML, CSS - Hilfe für das Erstellen einer Homepage » Cursor positionieren (eigentlich eben nicht!) » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
von Al Blank
Yipii!

Thx, genau das meinte ich.

1: 
2:
document.form_name.textarea_name.focus();
document.selection.createRange().duplicate().text = what;


--> mit dem Teil funzt es!

Grüße,

Al Blank
von nisita
hm, ich denke schon, dass ich dich verstehe..
habe leider nicht wirklich ahnung, von java script.. habe aber was gefunden, was dir vielleicht hilft.. jedenfalls geht es dort..

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
45: 
46: 
47: 
48: 
49: 
50: 
51: 
52: 
53: 
54: 
55: 
56: 
57: 
58: 
59: 
60: 
61: 
62: 
63: 
64: 
65: 
66: 
67: 
68: 
69: 
70: 
71: 
72: 
73: 
74: 
75: 
76: 
77: 
78:
<html>
<head>
<script type="text/javascript">
<!--
function bbcode(v)
 {
 if (document.selection) // für IE
   {
    var str = document.selection.createRange().text;
    document.form_name.textarea_name.focus();
    var sel = document.selection.createRange();
    sel.text = "[" + v + "]" + str + "[/" + v + "]";
    return;
   }
  else if (document.getElementById && !document.all) // für Mozilla
   {
    var txtarea = document.forms['form_name'].elements['textarea_name'];
    var selLength = txtarea.textLength;
    var selStart = txtarea.selectionStart;
    var selEnd = txtarea.selectionEnd;
    if (selEnd == 1 || selEnd == 2)
    selEnd = selLength;
    var s1 = (txtarea.value).substring(0,selStart);
    var s2 = (txtarea.value).substring(selStart, selEnd)
    var s3 = (txtarea.value).substring(selEnd, selLength);
    txtarea.value = s1 + '[' + v + ']' + s2 + '[/' + v + ']' + s3;
    return;
   }
  else input('[' + v + '][/' + v + '] ');
 }

function input(what)
 {
  if (document.form_name.textarea_name.createTextRange)
   {
    document.form_name.textarea_name.focus();
    document.selection.createRange().duplicate().text = what;
   }
  else if (document.getElementById && !document.all) // Mozilla
   {
    var tarea = document.forms['form_name'].elements['textarea_name'];
    var selEnd = tarea.selectionEnd;
    var txtLen = tarea.value.length;
    var txtbefore = tarea.value.substring(0,selEnd);
    var txtafter =  tarea.value.substring(selEnd, txtLen);
    tarea.value = txtbefore + what + txtafter;
   }
  else
   {
    document.entryform.text.value += what;
   }
 }
//-->
</script>
<title>Textarea-Test</title>
</head>
<body>
<h1>Einfügen von BB-Code und Smilies mit JavaScript</h1>
<p>Funktionoert mit Netscape/Mozilla und IE. Hier werden die BB-Codes um
markierten Text eingefügt und die Smilies an der Curserposition. Mit anderen
Browsern werden die Befehle am Ende eingefügt.</p>
<form name="form_name" action="" method="">
BB-Code:
[ <a href="javascript:bbcode('b');">fett</a> ] 
[ <a href="javascript:bbcode('i');">kursiv</a> ] 
[ <a href="javascript:bbcode('url');">URL</a> ] 
[ <a href="javascript:bbcode('img');">Bild</a> ]  
Smilies:
[ <a href="javascript:input(':-) ');">smile</a> ] 
[ <a href="javascript:input(';-) ');">wink</a> ] 
[ <a href="javascript:input(':-( ');">frown</a> ]<br>
<textarea rows="20" cols="80" name="textarea_name"></textarea><br>
<input type="reset">
</form>
</body>
</html>


hab das bloß auf die schnelle im i-net gefunden.. wenn ich dir auch noch sagen soll, warum bei dir das nicht so funktioniert, wie im beispiel.. das würde bestimmt nochmal nen bissl dauern... bin da nicht so in der materie..

ST

PS:-du willst einfach, dass der curser dort bleibt, wo er war.. -richtig??
von Al Blank
Hallo,

danke für den Beitrag, aber bitte lest Euch doch auch das weiter oben durch! Da steht nämlich um was es wirklich geht.

Lass die Benutzer doch einfach die Leerzeichen eingeben


GENAU DAS WILL ICH DOCH AUCH!!!
Nur will ich das der Benutzer mehrere Leerzeichen hintereinander einsetzen kann, ohne das er ständig den Cursor an die Position setzen muß!

...ich glaube ich eröffne einen anderen Thread, hier komme ich nicht weiter!

MANNO!!

Was ist denn los mit Euch? Ich weiß um die Vorteile und Nachteile von Javascript! Deswegen hab ich den Thread nicht eröffnet.

Das ist doch das selbe als wenn Ihr in diesem Forum einen Beitrag schreiben wollt!!
Mit deaktiviertem Javascript könnt Ihr auch hier nicht einen Smiley einfügen, eine Textpassage unterstreichen oder einen Quellcode markieren.

Heul!

Keiner versteht mich!!!


von n0f3aR
Al Blank schrieb am 25.01.2004 12:25
Ich steh auf Javascript!
Da kannst Du mich nicht davon abbringen ;))

Diese wundervolle Sprache wurdet entwickelt um Sie zu verwenden, dass Sie so in Verruf geraten ist, ist eine andere Diskussion.

Es geht nicht darum das Javascript in Veruf gerät, sondern das man im Browser Javascript deaktivieren kann, und dann kann man garkeine Leerzeichen mehr einfügen!


Das ist nicht das Problem, wenn ich will dann werden meine Leerzeichen schon angezeigt!!!!


Doch das ist genau das Problem.
Wenn es eine Lösung ohne Javascript gibt, warum benutzt du sie dann nicht?
Lass die Benutzer doch einfach die Leerzeichen eingeben und danach wandelst du sie um so dass sie richtig angezeigt werden ( & n b s p ; oder pre-Tag benutzen). Dann wird der Text richtig angezeigt, und du ersparst dir dein Problem mit Javascript, da dieses Problem garnicht erst auftritt.
von Al Blank
Ich steh auf Javascript!
Da kannst Du mich nicht davon abbringen ;))

Diese wundervolle Sprache wurdet entwickelt um Sie zu verwenden, dass Sie so in Verruf geraten ist, ist eine andere Diskussion.

Und im pre-Tag würde z.B. jedes Leerzeichen angezeigt!


Das ist nicht das Problem, wenn ich will dann werden meine Leerzeichen schon angezeigt!!!!

die Cursorposition die nach der Eingabe ans Ende des Textes springt


Das ist das Problem!!!!

Nochmal:
Ich mache ein Mini-CMS in dem der User selbst den Inhalt seiner Seite verändern kann.
Das ganze geschieht natürlich über Textareas in der der User seinen Content eingeben kann.
In diesem Textareafeld hat der User die Möglichkeit Textpassagen zu unterstreichen, fett zu machen, kursiv zu schreiben, Aufzählungspunkte an der Cursorposition ein zufügen und Leerzeichen an der aktuellen Cursorposition einzufügen.

Das klappt auch alles wunderbar, nur wenn man z.B. einen Auzählungspunkt an der entsprechenden Position einsetzt dann springt der Cursor ans Ende des Textes in der Textarea!!!


>>> Danke für Dein Engagement, aber ich glaube wir reden aneinander vorbei ;) <<<


Grüße,

Al Blank

Nach oben