<= statt <

Zack

cookies vader
Guten Abend,
ich krieg gerade voll die Kriese. Im folgenden JavaScript:
Javascript:
function send_ergebnis()
{
	var anz_1on1 = parseInt(document.getElementById("1on1").value);
	var anz_2on2 = parseInt(document.getElementById("2on2").value);
	var anz_3on3 = parseInt(document.getElementById("3on3").value);
	var anz_4on4 = parseInt(document.getElementById("4on4").value);
	var anz_5on5 = parseInt(document.getElementById("5on5").value);
	var send = "wid="+document.getElementById("wid").value;
	if(anz_1on1!=0)
	{
		for (i=1;i<=anz_1on1;i++)
		{
			send=send+"&1on1_"+i+"="+document.getElementById("1on1_gegner_"+i).value;
		}
	};
	if(anz_2on2!=0)
	{
		for (i=1;i<anz_2on2;i++)
		{
			send=send+"&2on2_"+i+"="+document.getElementById("2on2_gegner_"+i).value;
		}
	}
	if(anz_3on3!=0)
	{
		for (i=1;i<anz_3on3;i++)
		{
			send=send+"&3on3_"+i+"="+document.getElementById("3on3_gegner_"+i).value;
		}
	}
	if(anz_4on4!=0)
	{
		for (i=1;i<anz_4on4;i++)
		{
			send=send+"&4on4_"+i+"="+document.getElementById("4on4_gegner_"+i).value;
		}
	}
	if(anz_5on5!=0)
	{
		for (i=1;i<anz_5on5;i++)
		{
			send=send+"&5on5_"+i+"="+document.getElementById("5on5_gegner_"+i).value;
		}
	}
	alert(send);
	return false;
}
Sobal ich folgende Zeile:
Javascript:
		for (i=1;i<anz_2on2;i++)
in
Javascript:
		for (i=1;i<=anz_2on2;i++)
ändere funktionier der Script nicht mehr. Auch bei den folgenden Zyklen tritt der selbe Effekt auf. Keine Ahnung warum das ganze beim ersten Zyklus richtig geht. Die Variablen enthalten Integerwerte durch die ich dynamisch den Inhalt eines Formulars auslesen kann. Um diese dann per asyncronen Request verarbeiten zu können.

Sieht jemand einen Fehler? ThX 4 help.
 
Mit <= zählt deine Schleife um 1 weiter als mit < ....vielleicht existiert das Element, auf das du Zugreifen willst, nicht.

Bsp:
du hast folgende Elemente
Code:
1on1_gegner_0
1on1_gegner_1
1on1_gegner_2
1on1_gegner_3

wenn anz_1on1 nun 3 ist, erzeugt das einen Fehler, weil die Schleife
Code:
for (i=1;i<=anz_1on1;i++)
bis 4 zählt, und 1on1_gegner_4 nicht existiert.
 
Hi,
die Schleife wird nur soweit hochgezählt wie Elemente exsistieren. Von 1 bis x. Das Problem ist dass das letze Element nicht mit gezählt wird, da es nur heißt kleiner und nicht kleiner gleich. Wenn ich aber kleiner gleich mache dann arbeitet das ganze nicht richtig.. Ich bin sicher das dieses Anzahl der Elemente exsistiert da diese vorher mittels PHP während verschiedener Zyklen hochgezählt werden und richtig sind.
In diesem spezielen Fall exsistiert
Code:
1on1_gegner_1
1on1_gegner_2
1on1_gegner_3
1on1_gegner_4
2on2_gegner_1
 
Zuletzt bearbeitet:
Zurück