Hallöchen,
ich bin ziemlich unerfahren mit Javascript und würde mich über ein wenig Hilfestellung von euch freuen. Vielen Dank schonmal im Voraus!
Ich bin aktuell dabei, für meine Abschlussarbeit eine Umfrage erstellen. In dieser Umfrage würde ich über Javascript gerne ein Suchfenster einbinden, welches eingegebene Suchbegriffe mit einer Wortdatenbank abgleicht. Wenn ein oder mehrere Wörter mit dieser Datenbank übereinstimmen, soll ein bestimmter Text ausgegeben werden. Dabei muss muss nicht die gesamte Eingabe zu Wörtern aus der Wortliste passen, es reichen auch einzelne (Könnte man durch einen weiteren Zähler eine vordefinierte Minimalanzahl einsteuern?). Nun habe ich folgende Probleme:
1. Eigentlich wollte ich beide Arrays mit .equals() vergleichen. Da bekomme ich allerdings überhaupt keine Ausgabe. Stattdessen funktioniert es aber mit dem Vergleichsoperator ==. Soll das so?
2. Das eigentliche Problem ist allerdings, dass das Programm niemals in den if-Teil springt, selbst wenn ich ein exaktes Wort aus der Liste verwende. Es kommt immer die Ausgabe aus dem else-Teil. Als ich die Eingabe noch nicht in substrings gesplitted hatte, ging das mit einem Wort allerdings problemlos.
Könnt ihr mir vllt sagen, wo der Fehler liegt? Ich bin mittlerweile ratlos.
Viele Grüße
brina42
function Suchfunktion(){
var wortliste;
var i;
var j;
wortliste = ["5g", "strahlung", "5g-strahlung", "auswirkung",
"auswirkungen", "gefahr", "gefahren", "risiken", "gesundheit", "gesundheitliche", "risiko", "massenexperiment", "elektrosmog"];
var eingabe = document.f1.v_45.value;
var splittedEingabe = eingabe.split(" ");
for (i=0; i < wortliste.length; i++) {
for (j=0; j < splittedEingabe.length; j++){
//if(eingabe.toLowerCase() == wortliste[i]){
//if(splittedEingabe[i].toLowerCase().equals(wortliste[i])){
if(splittedEingabe[j].toLowerCase() == wortliste[i]){
document.getElementById("infotext").innerHTML = "Ausgezeichnet, wir haben einige Videos für Sie gefunden. Sie können nun auf Weiter klicken, um sich Ihre Suchergebnisse anzuschauen.";
break;
}
else{
document.getElementById("infotext").innerHTML = "Leider konnten wir zu Ihrem Suchbegriff keine Videos finden oder Sie haben Ihre Suche nicht ausreichend eingeschränkt. Versuchen Sie es noch einmal.";
}
}
}
}
Alles anzeigen