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



Im Homepage und Webhosting-Forum --- Cursor positionieren (eigentlich eben nicht!)

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 (... - 23 Nov 2024 Antworten
im Forum für Webhosting Homepage gefunden:
Cursor positionieren (eigentlich eben nicht!)
Al Blank
Quasselstrippe
Threadstarter




Beiträge: 379

Hallo,

folgende Begebenheit:

Der User kann in einer Textarea mit Hilfe von Javascript Leerzeichen dort einfügen wo er den Cursor setzt, danach springt der Cursor ans Ende des Textes.

Wie kann ich das verhindern?


Grüße,

Al Blank


  Profil   Editieren   Zitieren
languitar
Foren-Team




Beiträge: 2795

Warum braucht man dazu JavaScript?

Ohne das Script geht gar nix.

  Profil   Editieren   Zitieren
Al Blank
Quasselstrippe
Threadstarter




Beiträge: 379

Gerne:

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:
function cursor(name_$i) {
$adresse=name_$i;
if (( navigator.userAgent.indexOf("Opera" ) != -1) || ( navigator.userAgent.indexOf("Netscape" ) != -1)) { 
text_before = document.forms["formular"].elements[$adresse].value; 
text_after = ""; 
} else { 
document.forms["formular"].elements[$adresse].focus();
var sel = document.selection.createRange();
sel.collapse(); 
var sel_before = sel.duplicate(); 
var sel_after = sel.duplicate();
sel.moveToElementText(document.forms["formular"].elements[$adresse]); 
sel_before.setEndPoint("StartToStart",sel); 
sel_after.setEndPoint("EndToEnd",sel); 
text_before = sel_before.text; 
text_after = sel_after.text; 
} 
} 
function insert(AddCode,name_$i) { 
cursor($adresse);
document.forms["formular"].elements[$adresse].value = text_before + AddCode + text_after;
} 

function init(thisCode,name_$i) { 
$adresse=name_$i;
with ( document.forms["formular"].elements[$adresse].value ) { 
switch(thisCode) { 

case "aufzaehlung":
insert("• "); 
break; 

case "abstandshalter":
insert(" "); 
break; 
} 
} 
} 


Prinzip ähnlich wie in diesem Forum wenn man einen Smiley einsetzen will. Hier ist es aber so das der Smiley sowieso nur ans Ende des Textes gesetzt wird unabhängig von der Cursorposition.

Mit dem oben stehenden Code wird zwar mein Leerzeichen bzw. Aufzählungspunkt an die Cursorposition geschrieben, allerdings springt er danach wieder ans Ende des Textes.
Will man nun mehrere Leerzeichen hintereinander schreiben dann ist das allerdings ziemlich unpraktisch!

P.S.: Aufgerufen wird das ganze z.B. durch:

onclick="init('abstandshalter','name_$i')"

Diese Nachricht wurde geändert von: Al Blank
  Profil   Editieren   Zitieren
languitar
Foren-Team




Beiträge: 2795

pfff, blick ich gerade nicht so, aber wofür is das überhaupt gut?

  Profil   Editieren   Zitieren
Al Blank
Quasselstrippe
Threadstarter




Beiträge: 379

Deswegen verscuh ich immer den Quellcode zu vermeiden, damit es nicht zu unüberscihtlich wird ;]

aber wofür is das überhaupt gut?


Prinzip ähnlich wie in diesem Forum wenn man einen Smiley einsetzen will. Hier ist es aber so das der Smiley sowieso nur ans Ende des Textes gesetzt wird unabhängig von der Cursorposition.

Mit dem oben stehenden Code wird zwar mein Leerzeichen bzw. Aufzählungspunkt an die Cursorposition geschrieben, allerdings springt er danach wieder ans Ende des Textes.
Will man nun mehrere Leerzeichen hintereinander schreiben dann ist das allerdings ziemlich unpraktisch!

  Profil   Editieren   Zitieren
languitar
Foren-Team




Beiträge: 2795

ja aber warumsetzt man leerzeichen nicht eifnach mit der passenden taste in eine textarea????

  Profil   Editieren   Zitieren
Al Blank
Quasselstrippe
Threadstarter




Beiträge: 379

...meinst Du die Leertaste?

Weil die meißten Browser nur eines zeigen, außer es ist ein geschütztes Leerzeichen.
Mehrere hintereinander werden ignoriert.

1:
 






Diese Nachricht wurde geändert von: Al Blank
  Profil   Editieren   Zitieren
languitar
Foren-Team




Beiträge: 2795

dann pack das alles doch in nen
-Tag oder lass die Leerzeichen durch PHP oder so umwandeln.

  Profil   Editieren   Zitieren
Al Blank
Quasselstrippe
Threadstarter




Beiträge: 379

Das ist aber leider nicht mein Problem sondern die Cursorposition die nach der Eingabe ans Ende des Textes springt.

Hab ich einen Denkfehler oder drück ich mich mißverständlich aus

Diese Nachricht wurde geändert von: Al Blank
  Profil   Editieren   Zitieren
languitar
Foren-Team




Beiträge: 2795

Nein, dein Problem versteh ich wohl, aber ich will idch von JavaScript abbringen, da man das nur nehmen sollte, wenns gar nicht anders geht (was machen User ohne JavaScript?)! Und im pre-Tag würde z.B. jedes Leerzeichen angezeigt!

  Profil   Editieren   Zitieren
Al Blank
Quasselstrippe
Threadstarter




Beiträge: 379

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

Diese Nachricht wurde geändert von: Al Blank
  Profil   Editieren   Zitieren
n0f3aR
Mausakrobat




Beiträge: 154

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.

---
Kostenlos Webspace bei funpic.de

Diese Nachricht wurde geändert von: n0f3aR
  Profil   E-Mail   Editieren   Zitieren
Al Blank
Quasselstrippe
Threadstarter




Beiträge: 379

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!!!



Diese Nachricht wurde geändert von: Al Blank
  Profil   Editieren   Zitieren
nisita
Posting-Schinder




Beiträge: 540

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:



Textarea-Test


Einfügen von BB-Code und Smilies mit JavaScript

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.

BB-Code: [ fett ] [ kursiv ] [ URL ] [ Bild ] Smilies: [ smile ] [ wink ] [ frown ]



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??

---
"Wir sollten lernen, uns allmählich vom Überfluss zu befreien, um zur Einfachheit unseres eigenen Wesens vorzudringen." Jean Gastaldi

  Profil   Editieren   Zitieren
Al Blank
Quasselstrippe
Threadstarter




Beiträge: 379

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

  Profil   Editieren   Zitieren
 

Antworten
Forum » HTML, CSS - Hilfe für das Erstellen einer Homepage » Cursor positionieren (...

Aktuelle Beiträge zur Hilfe im Forum für Homepage - Cursor positionieren (eigentlich eben nicht!) im Forum Homepage Hosting AntwortenLetztes Posting
Unvorhersehbare Layout-Verschiebungen auf meiner Seite - Ideen?
in "HTML, CSS - Hilfe für das Erstellen einer Homepage"
0 20.08.2023 20:14 von Freud
Geschenkidee zum Geburtstag
in "HTML, CSS - Hilfe für das Erstellen einer Homepage"
2 14.04.2022 16:08 von bryleth03
Webdesigner gesucht
in "HTML, CSS - Hilfe für das Erstellen einer Homepage"
2 10.12.2021 15:04 von Rieke
Welcher Hoster ist der Beste?
in "HTML, CSS - Hilfe für das Erstellen einer Homepage"
1 10.12.2021 15:02 von Rieke
Warum Wordpress?
in "HTML, CSS - Hilfe für das Erstellen einer Homepage"
6 05.07.2021 18:27 von Rieke
Die Idee einen Blog zu führen
in "HTML, CSS - Hilfe für das Erstellen einer Homepage"
2 27.02.2021 09:50 von Samira2021
zu viele css dateien?!
in "HTML, CSS - Hilfe für das Erstellen einer Homepage"
4 19.01.2021 19:20 von Laurena
WIe kann ich Datum ausblenden?
in "HTML, CSS - Hilfe für das Erstellen einer Homepage"
1 23.11.2020 12:21 von noahradar96
Tabelle mit Mannschaftslogos
in "HTML, CSS - Hilfe für das Erstellen einer Homepage"
3 23.10.2019 14:54 von andyy
Eigene Website erstellen - kostenlos!
in "HTML, CSS - Hilfe für das Erstellen einer Homepage"
0 17.05.2019 15:01 von Fusselchen



Besucher : 8127866    Heute : 261     Gestern : 761     Online : 37     23.11.2024    10:53      0 Besucher in den letzten 60 Sekunden        
Nach oben