Startseite Forum
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:

Noch ein JavaScript-Problem
(1 Leser) (1) Gast
Bitte beachten, dass es hier nur um Javascripts geht, die sich nicht in unserem Archiv befinden.
  • Seite:
  • 1

THEMA: Noch ein JavaScript-Problem

Noch ein JavaScript-Problem 1 Jahr, 6 Monate her #9286

  • Nautilus
  • OFFLINE
  • Fresh Boarder
  • Beiträge: 8
  • Karma: 0
Diesmal geht es um eine Suchfunktion.

Hier die HTML-Datei...

<form name="suche">
   Suchtext: 
   <input name="input" type="text" size="20" value=""> 
   <input type="button" value="Fertig" onClick="enter()">
</form>

<script src="script.js" type="JavaScript">


...und die Datei "script.js".

function enter()
{
var input, b, e, z, status;

input = window.document.maschine.input.value.toLowerCase();
//====================================
b = new Array();
	b[0] = "Suchbegriff_1";
	b[1] = "Suchbegriff_2";
	b[2] = "Suchbegriff_3";

e = new Array();
	e[0] = "Ergebnis_1";
	e[1] = "Ergebnis_2";
	e[2] = "Ergebnis_3";	

//====================================
z = 0;

status = 0;

while (status == 0)
{
   if (input == b[z])
   {
      document.write(e[z]);
      status = 1;
   }
   else
   {
      z = z+1;
   }
}

}


Hoffe, ihr könnt den Fehler finden.

Aw: Noch ein JavaScript-Problem 1 Jahr, 6 Monate her #9288

  • Super_Mario
  • OFFLINE
  • Platinum Boarder
  • Beiträge: 623
  • Karma: 35
Hallo,

der Fehler liegt in der "script.js" Datei. Da hast du beim Formular "maschine" stehn, obwohl es hier "suche" heißt. Ich hab's dir im Code ausgebessert und die geänderte Stelle rot markiert

Allerdings erzeugt der Code bei mir dann eine Endlosschleife

Hier ist der Code von script.js:
function enter()
{
var input, b, e, z, status;

input = window.document.suche.input.value.toLowerCase();
//====================================
b = new Array();
b[0] = "Suchbegriff_1";
b[1] = "Suchbegriff_2";
b[2] = "Suchbegriff_3";

e = new Array();
e[0] = "Ergebnis_1";
e[1] = "Ergebnis_2";
e[2] = "Ergebnis_3";

//====================================
z = 0;

status = 0;

while (status == 0)
{
   if (input == b[z])
   {
      document.write(e[z]);
      status = 1;
   }
   else
   {
      z = z+1;
   }
}

}
liebe Grüße
Super Mario

Meine Webseite ist Mario & Luigis wunderbare Welt. Dort gibt es auch eine große Auswahl an kostenlosen und werbefreien Javascripts. Meine Javascripts laufen in vielen, bzw. allen Browsern und sind W3C valide!

Aw: Noch ein JavaScript-Problem 1 Jahr, 6 Monate her #9290

  • Nautilus
  • OFFLINE
  • Fresh Boarder
  • Beiträge: 8
  • Karma: 0
also, erst mal danke für deine fehlersuche. hab den fehler jetzt auch bei mir ausgebessert, aber es funktioniert immer noch nicht. wenn ich einen Suchbegriff (z.B. "Suchebgriff_1") eingebe, und das dann abschicke, passiert nichts. weiß jmd, woran das liegen könnte?

Aw: Noch ein JavaScript-Problem 1 Jahr, 6 Monate her #9293

  • Super_Mario
  • OFFLINE
  • Platinum Boarder
  • Beiträge: 623
  • Karma: 35
Das liegt daran, dass bei der Variable "input" sämtliche großgeschriebene Buchstaben mit der Funktion toLowerCase() in Kleinschreibung verwandelt werden. Bei den Suchbegriffen ist aber auch Großschreibung dabei, deswegen wird der Suchbegriff nie gefunden und die while() Schleife wird zu einer Endlosschleife.

Du könntest das Ganze aber so lösen (Geändertes ist rot markiert):
function enter()
{
var input, b, e;

input = window.document.suche.input.value.toLowerCase();
//====================================
b = new Array();
b[0] = "suchbegriff_1";
b[1] = "suchbegriff_2";
b[2] = "suchbegriff_3";

e = new Array();
e[0] = "Ergebnis_1";
e[1] = "Ergebnis_2";
e[2] = "Ergebnis_3";

//====================================

for (var i = 0; i < b.length; i++)
{
if (input == b[i])
document.write(e[i]);
}


}

Die "S" von den Suchbegriffen hab ich in Kleinbuchstaben verwandelt. Dann hab ich die while() Schleife in eine for() Schleife umgewandelt, die so lange durchläuft, wie das Array "b" lang ist, also momentan drei mal. Ist der Suchbegriff gefunden worden, wird er mit document.write() auf die Seite geschrieben. Die Variablen "z" und "status" kann man in diesem Fall auch weglassen
liebe Grüße
Super Mario

Meine Webseite ist Mario & Luigis wunderbare Welt. Dort gibt es auch eine große Auswahl an kostenlosen und werbefreien Javascripts. Meine Javascripts laufen in vielen, bzw. allen Browsern und sind W3C valide!

Aw: Noch ein JavaScript-Problem 1 Jahr, 5 Monate her #9312

  • Nautilus
  • OFFLINE
  • Fresh Boarder
  • Beiträge: 8
  • Karma: 0
tja, also, auch wenn es nervt, irgendetwas klappt immer noch nicht. könnte der fehler vielleicht in der neuen "for-schleife" liegen?

Aw: Noch ein JavaScript-Problem 1 Jahr, 5 Monate her #9319

  • Super_Mario
  • OFFLINE
  • Platinum Boarder
  • Beiträge: 623
  • Karma: 35
Komisch, bei mir läuft's ohne Probleme Hast du das Javascript schon auf einer Seite eingebaut? Wenn ja, stell mal den Link oder den gesamten Quelltext von der Seite hier rein, dann kann ich schauen, woran's liegt
liebe Grüße
Super Mario

Meine Webseite ist Mario & Luigis wunderbare Welt. Dort gibt es auch eine große Auswahl an kostenlosen und werbefreien Javascripts. Meine Javascripts laufen in vielen, bzw. allen Browsern und sind W3C valide!
  • Seite:
  • 1
Ladezeit der Seite: 0.39 Sekunden

Login

Aktuell im Forum

mehr