Suche von Wortteilen mit document.getElementById()
Besser keine Haare am Kopf als die Laus im Hirn ;P
- javascript
In Anlehnung an den Beitrag von
Meister proper01:
(JAVASCRIPT) wie drücke ich ein var in /.*/gi aus???
zu finden unter
http://forum.de.selfhtml.org/?t=215074&m=1472366&readmode=list#m1472366
hätte ich folgende Frage an euch bzw folgendes Problem...
Ich würde gerne in meiner Formel einen Wert(hier Ganzes_Wort) suchen Ihn und mit onkeyup ausgeben(hier Ausgabe_HTML)!!
So sollte zB.:
bei der Eingabe x
myArray[0] Xaver ausgeben
und des weiteren
myArray[1] undefined ausgeben
myArray[2] undefined ausgeben
und bei Änderung des zuvoreingegebenen Wertes x auf die Eingabe a sollte die Reihung folgendermaßen aussehen:
Anton
und des weiteren
Aal
Xaver
undefined
undefined
bei der unten angeführten Formel
wir jedoch egal wie die Eingabe auch immer lauten sollte als erster Wert stets
Anton
und des weiteren
), (Aal
), (Xaver
), (Yvonne
sprich die Reihenfolge wird wie OBEN!!! nicht eingehalten...anders als Meister proper01 möchte ich document.getElementById() verwenden.
Ich bitte euch dringend um Hilfe und hoffe dass ihr meine Verwirrungen entwirren könnt ;)!!! Natürlich bin ich für all eure Ratschläge schon mal im Voraus dankbar!!!
Lg euer Besser keine Haare am Kopf als die Laus im Hirn ;P
Formel(...und unten gibts noch eine Erklärung hierzu...;) ):
<input id="Eingabe_HTML" onkeyup="Suchfunktion(this.value)"/>
<input id="Ausgabe_HTML" >
<script type="text/javascript">
function Suchfunktion () {
var Wortteil = document.getElementById('Eingabe_HTML');
var Ganzes_Wort = new RegExp("[^(]*?" + Wortteil + "[^)]*", "gi");
var string = ("(Anton), (Aal), (Xaver), (Yvonne)");
var myArray = string.match(Ganzes_Wort);
var Ausgabe_JS = document.getElementById('Ausgabe_HTML');
if (myArray[0] != "undefined") {
Ausgabe_JS.value = myArray[0];
}
else {
Ausgabe_JS.value = "Ihre Eingabe erzielte leider keinen Treffer";
}
return false;
}
</script>
Erklärung der Formel:
<input id="Eingabe_HTML" onkeyup="Suchfunktion(this.value)"/>
Hier sollte der Wortteil eingegeben werden und die Formel bei jedem onkeyup erneut ausgelöst werden
var Wortteil = document.getElementById('Eingabe_HTML');
holt sich hierfür den wert aus der Eingabe in der HTML
var Ganzes_Wort = new RegExp("[^(]*?" + Wortteil + "[^)]*", "gi");
var string = ("(Anton), (Aal), (Xaver), (Yvonne)");
var myArray = string.match(Ganzes_Wort);
Hier sollte im String der Wortteil gefunden und mit new RegExp der Wortteil mit Klammern () die das Wort einschließen mit match gefunden werden!!
<input id="Ausgabe_HTML" >
Letztendlich sollte die Ausgabe dann das Erste Ergebnis der Reihung zeigen...Bei JEDEM NEUEN Eintrag!!!
var Ausgabe_JS = document.getElementById('Ausgabe_HTML');
if (myArray[0] != "undefined") {
Ausgabe_JS.value = myArray[0];
}
else {
Ausgabe_JS.value = "Ihre Eingabe erzielte leider keinen Treffer";
}
return false;
}
Wenn der erste Wert nicht undefined(da sonst "Ihre Eingabe erzielte leider keinen Treffer" gezeigt werden sollte) sollte ausgegeben werden...
Hallo,
<input id="Eingabe_HTML" onkeyup="Suchfunktion(this.value)"/>
Hier übergibst du den Wert des Eingabefeldes.
function Suchfunktion () {
Hier nimmst du den Wert NICHT entgegen. Diese Funktion nimmt keine Parameter entgegen.
var Wortteil = document.getElementById('Eingabe_HTML');
Stattdessen holst du dir hier das Elementobjekt. Das ist ein Objekt, kein String! Das lässt sich zwar in einen String umwandeln, dabei kommt aber Quatsch wie "[object HTMLInputElement]" heraus.
Willst du den aktuellen Wert lesen, so kannst du die value-Eigenschaft verwenden. Die nutzt du an anderer Stelle ja bereits zu schreiben.
Mathias
Hallo,
<input id="Eingabe_HTML" onkeyup="Suchfunktion(this.value)"/>
Hier übergibst du den Wert des Eingabefeldes.
function Suchfunktion () {
Hier nimmst du den Wert NICHT entgegen. Diese Funktion nimmt keine Parameter entgegen.
var Wortteil = document.getElementById('Eingabe_HTML');
Stattdessen holst du dir hier das Elementobjekt. Das ist ein Objekt, kein String! Das lässt sich zwar in einen String umwandeln, dabei kommt aber Quatsch wie "[object HTMLInputElement]" heraus.
Willst du den aktuellen Wert lesen, so kannst du die value-Eigenschaft verwenden. Die nutzt du an anderer Stelle ja bereits zu schreiben.
Mathias
DANKE Mathias!!!
Wenn ich nicht schon eine Freundin hätte dann würde ich glatt dich zu meiner zukünftigen nehmen ;)...nein ohne Scherz...danke für deine Antwort...die hat mir wirklich weitergeholfen!!!
Glg Besser keine Haare am Kopf als die Laus im Hirn ;P