Textfunktionen, Cursor steuern, Textfragmente markieren
obiwan1973
- javascript
Hallo zusammen,
ich habe da zwei Fragen zu JavaScript.
Ich habe ein ganz normales HTML Input Textfeld. In diesem Feld steht ein Text (nennen wir ihn Text1), am Ende des Textes steht der Cursor.
Nun möchte ich (Frage 1), dass der Text1 ergänzt wird um einen Text2, der Cursor soll aber an der alten Stelle hinter Text1 stehen bleiben.
Frage 2: Der ergänzte Text2 soll markiert/blau/selected sein, aber der Cursor soll weiterhin hinter Text1 stehen.
Und nun denkt Ihr Euch: Was hat der Typ vor? Verrate ich hier nicht, erst, wenn es fertig ist.
Habt Ihr Tipps/Ideen/Vorschläge für die Realisierung? Ich würde mich auch freuen über unfertige oder Teilweise-Antworten.
Auch, wenn nicht alles geht, sondern nur manches, wäre schön, wenn Ihr mir helfen könntet.
Gruß aus Sachsenheim (in der schwäbischen Pampa)
Thomas
Moin,
Nun möchte ich (Frage 1), dass der Text1 ergänzt wird um einen Text2, der Cursor soll aber an der alten Stelle hinter Text1 stehen bleiben.
Dazu kannst du dieses Beispiel modifizieren.
Frage 2: Der ergänzte Text2 soll markiert/blau/selected sein, aber der Cursor soll weiterhin hinter Text1 stehen.
Dazu kannst du dieses Beispiel modifizieren.
Grüße Marco
Hallo Marco,
es funzt!
Danke Dir!
Gruß
Thomas
Meine Herren,
Und nun denkt Ihr Euch: Was hat der Typ vor? Verrate ich hier nicht, erst, wenn es fertig ist.
Ich hoffe für dich, du planst keine Autovervollständigung, denn dafür gibt es standardisierte Ansätze [w3c], die auch ohne JS auskommen.
Hallo 1UnitedPower,
ist ja schön, aber wir arbeiten hier mit Browsern, die von HTML 5 noch nie was gehört haben :-)
Gruß
Thomas
PS: Außerdem bin ich schon fast fertig. Die Version für Firefox funzt prima. Nur die Markierung/blaue Hervorhebung des Textfragmentes will mit meinem uralten Explorer (mit dem unsere Kunden größtenteils arbeiten, noch nicht klappen. Ich poste hier mal den Code, mit dem ich das zweite Textfragment markiere. var_control ist übrigens das Ziel-Textfeld, das ich mit "this" an die Funktion übergeben habe.
if(typeof document.selection != 'undefined')
{
if(parent.parent.parent.frames['iframe_detail'].document && var_control)
{
var textRange = parent.parent.parent.frames['iframe_detail'].document.body.createTextRange();
//
textRange.moveToElementText(var_control);
//
textRange.select();
}
}
else if(typeof var_control.selectionStart != 'undefined')
{
var_control.selectionStart = var_searchtext.length;
var_control.selectionEnd = var_control.value.length;
}
Wie gesagt, mit FF läuft es so, wie ich es mir gewünscht habe. Der Explorer allerdings färbt das ganze Textfeld blau ein.
Auch, wenn Du jetzt noch mehr über mich schimpfst - jetzt was völlig neues anzufangen - muss das wirklich sein?
Vielleicht kannst Du mir ja bei dem Code für den Explorer helfen ... ?
Da fehlen jetzt bestimmt nur noch ein paar Zeilen JS-Code.
Freue mich trotzdem auf Antwort.
Gruß
Thomas
Meine Herren,
Und nun denkt Ihr Euch: Was hat der Typ vor? Verrate ich hier nicht, erst, wenn es fertig ist.
Ich hoffe für dich, du planst keine Autovervollständigung, denn dafür gibt es standardisierte Ansätze [w3c], die auch ohne JS auskommen.
Meine Herren,
cool, dass ich mit meiner Raterei richtig lag ;)
Auch, wenn Du jetzt noch mehr über mich schimpfst - jetzt was völlig neues anzufangen - muss das wirklich sein?
Zunächst mal, ich habe nicht geschimpft, entschuldige bitte wenn der Ton etwas schroff auf dich gewirkt hat. Ich wollte dir lediglich Arbeit ersparen.
ist ja schön, aber wir arbeiten hier mit Browsern, die von HTML 5 noch nie was gehört haben :-)
Das ist eine wichtige Information, die nahezu bei jeder Frage hier mitgeteilt werden sollte. Uralt-Browser sind keine Standard-Anforderung, sondern Extrawürste. Übrigens ist es wahrscheinlich, dass auch ein Uralt-Browser HTML5-Funktionalitäten beherrscht, wenn er vor dem ersten Working-Draft zu HTML5 erschienen ist. HTML5 hat viele Features adaptiert, die von Browsern implementiert wurden, denen aber noch kein Standard zu Grunde lag.
PS: Außerdem bin ich schon fast fertig.
Das freut mich für dich.
Die Version für Firefox funzt prima. Nur die Markierung/blaue Hervorhebung des Textfragmentes will mit meinem uralten Explorer (mit dem unsere Kunden größtenteils arbeiten, noch nicht klappen.
Von welchem Browser sprechen wir eigentlich?
Vielleicht kannst Du mir ja bei dem Code für den Explorer helfen ... ?
Da fehlen jetzt bestimmt nur noch ein paar Zeilen JS-Code.
Da muss ich dich leider enttäuschen. Alte IEs kennen die Eigenschaften selectionStart und selectionEnd nicht, du stehst also wieder vor einem Konformitätsproblem. Dieser Thread auf stackoverflow kann dir dabei helfen.
viele Grüße