Siechfred: / JSCRIPT selektierten Text erweitern

Beitrag lesen

Hallo Raik.

mit document.selection.createRange().text kann ich im IE selektierten text auslesen.
wenn dieser text nicht match(/[1]{10}$/) entspricht (der user nur einen teil der nummer markiert hat), würde ich gerne die auswahl so erweitern, dass die ganze nummer erfasst wird.

Das sollte mit moveEnd lösbar sein:

function check(artikel) {
  var range = document.selection.createRange();
  if ( artikel.length < 10 ) {
    var diff = 10 - artikel.length;
    range.moveEnd('character', diff);
  }
  alert(range.text); // 10 Stellen
}

Das geht allerdings nur dann, wenn der Benutzer ab der ersten Stelle ausgewählt hat. Wenn er z.B. Stelle 4 bis 7 ausgewählt hat, hast du IMHO keine Chance, das geradezubiegen. Du könntest zwar mit moveStart den Startpunkt der Selection ändern, dazu müsstest du aber wissen, was innerhalb der Artikelnummer markiert wurde, um die korrekte Verschiebung des Startpunktes vornehmen zu können.

Freundschaft!
Siechfred

--
Hinweis an alle Karnevalsmuffel: Aschermittwoch ist alles vorbei.

  1. \d ↩︎