Hallo,
Abend!
Ich habe ein kleines Problem beim Durchsuchen von Textinhalten bzw. Strings.
Hier meine Funktion mit Kommentaren.// Text bzw. Inhalt aus einem DIV Layer lesen
var search_field_content = document.getElementById(search_field).innerHTML;
var search_field_regexec = /(search_keyws)/i;
// Suche im Feld zwischenspeichern
var result_field = search_field_regexec.test(search_field_content);
// Suchbegriff vorhanden?
if(result_field == true){
// Feld mit Suchbegriff gefunden
alert("Feld: " + search_field + " | " + search_field_content);
}else{
// Suchbegriff nicht vorhanden!
alert("nix!");
}
Der Name search_field_regexec kommt mir seltsam vor: Die Bezeichnung RegEx kommt nicht von execute (Ausführen), sondern von expression (Ausdruck). "search_field_regex" wäre also schöner, aber das ist nicht das Problem.
Es funktioniert alles bis auf die Suche anhand der Suchbegriffe in dem INPUT Feld welches mit "/(search_keyws)/i" durchsucht wird. Etwas hilfe würde sehr gut tuen :)
Mit
var search_field_content = document.getElementById(search_field).innerHTML;
bekommst du nicht den eingegebenen Text vom Input-Feld. Die entsprechende Eigenschaft heißt nicht .innerHTML, sondern .value
Mit
var search_field_regexec = /(search_keyws)/i;
suchst du tatsächlich nach den Zeichen "search_keyws" in genau dieser Reiehnfolge, nur Groß-/Kleinschreibung wir ignoriert (wegen /i). Bist du dicher, dass diese Zeichen in deinem search_field_content auch vorhanden sind? Sonst wird natürlich auch nichts gefunden.
Vielleicht möchtest du lieber nach etwas sinnvollem suchen, was möglicherweise auch wirklich vorkommt.
Statt
if(result_field == true){
schreibt man besser einfach nur
if(result_field){
Gruß, Don P