McVaughn: Alles nach einem Zeichen speichern

Guten Abend allerseits,
ich schildere euch mal mein Problem in der Hoffnung, dass mich jemand weiterbringen kann.
Per Javascript möchte ich in meinem Textarea Eingabefeld überprüfen, ob ein # vorkommt und wenn ja, alles war hinter diesem steht speichern.
Allerdings bekomme ich das Alertfenster nur, wenn ich den Text nochmals markiere und eine Taste drücke. Dies sollte aber wohl direkt bei der ersten Eingabe von @ passieren.

Damit bei Eingabe weiterer Buchstaben oder Zahlen die aktuelle Cursorposition nicht überschrieben wird, wollte ich bei einem #-Treffer die Variable foundit auf 1 stellen, sodass selectionStart nicht überschrieben wird.

Meines Wissens nach, gibt es keine Funktion, die den zuletzt eingegebenen Buchstaben ausgeben kann, was das ganze wohl vereinfachern würde.

Hier mein Codeausschnitt:

<script type="text/javascript">

 var foundit = 0;  
function Checkit() {  
 if(foundit == 0) {  
 var startpos =  document.editing.edit.selectionStart;  
  
 var savestring = "";  
 var nr = 1;  
 }  
 if (document.editing.edit.value.substring(startpos, startpos+1) == "#") {  
	nr++;  
	foundit = 1;  
	savestring += "Gefunden : " +document.editing.edit.value.substring(startpos, startpos+nr);  
    alert(startpos + savestring);  
 }  
  
}
</script>  
  <form method="post" action="" name="editing" id="editing">  
<textarea onKeyDown="Checkit()" name="edit" id="edit"></textarea>  
</form>  

Also nochmals kurz gesprochen: sollte man ein # in das Textarea-Feld eingeben, so soll alles nachfolgende gespeichert werden. Alert habe ich nur verwendet, um zu kontrollieren was passiert.

Ich hoffe jemand hat eine Idee.

  1. Hi,

    Damit bei Eingabe weiterer Buchstaben oder Zahlen die aktuelle Cursorposition nicht überschrieben wird, wollte ich bei einem #-Treffer die Variable foundit auf 1 stellen, sodass selectionStart nicht überschrieben wird.

    warum arbeitest Du eigentlich mit Selections? Deiner Fragestellung nach interessiert es Dich nicht die Bohne, ob irgendwas markiert oder wo ein eventuell vorhandener Cursor ist. Warum suchst Du nicht einfach das erste "#"-Zeichen und gut is'?

    Meines Wissens nach, gibt es keine Funktion, die den zuletzt eingegebenen Buchstaben ausgeben kann, was das ganze wohl vereinfachern würde.

    Doch, aber wozu? Du suchst ein "#" und möchtest alles erhalten, was danach kommt. Das hat nichts mit dem Vorgang einer Eingabe zu tun.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hallo,

      warum arbeitest Du eigentlich mit Selections? Deiner Fragestellung nach interessiert es Dich nicht die Bohne, ob irgendwas markiert oder wo ein eventuell vorhandener Cursor ist. Warum suchst Du nicht einfach das erste "#"-Zeichen und gut is'?

      Mit Selections weil ich eine Alternative gesucht habe, da ich von dieser Funktion, die den zuletzt eingegebenen Buchstaben kontrolliert und deren Position weiß, nicht kenne.

      Es könnten auch mehr als ein "#" vorkommen, wodurch man jeweils das Wort, was an dieses anschließt speichern müsst, bzw. weiterverarbeiten. Es geht darum, dass nach dessen Eingabe, an dieser Stelle Vorschläge zu dazu existierenden Daten aus einer Datenbank ausgegeben werden sollen.

      Doch, aber wozu?

      Bisher habe ich dazu noch keine Funktion im Weltweiten Netz gefunden; wie lautet diese denn? Vermutlich eine simple, die man in solchen Momenten immer übersieht ;)