Hallo Forum,
sitze jetzt seit zwei Stunden an einem Fehler un bekomme es nicht hin :-(
Ich übergebe in einer URL entweder eine Nummer oder einen Namen. zB
seite.htm?3 oder
seite.htm?namenachname
Nummer = id (des arrays), name = eintrag im array.
anz() --> durchläuft das array und gibt mir die Anzahl der Einträge im Array.
Wenn ich nur eine Nummer übergebe funzt alles wunderbar.
Wenn ich nun einen Namen übergebe soll im Array nach dem Namen gesucht werden und die passende 'id' zurückgegeben werden (funzt auch).
Wenn aber nun keine bzw. eine unbekannte Endung hinter der URL steht möchte ich, dass die id wieder auf 1 gesetzt wird. (if (id > anz()) id = 1;)
Bei einem Array von 7 Einträgen wird nach dem durchlaufen (wenn name nicht vorhanden) von:
if (anhang.length > 4)
{
while (anhang != Daten[id]["m_bild"])
{
id++;
}
}
die id auf 8 gesetzt. die anschl if-abfrage (if (id > anz()) id = 1;) funktioniert dann aber nicht :-/
Was kann ich dagegen tun???? ich glaube das ist nur ein blöder Denkfehler...
[...]
//Anzahl der Einträge bestimmen
function anz (){
var anz = 0;
for (i = 0; i < Daten.length; i++)
anz++;
return anz-1;
}
//Endung hinter der URL abc.htm?xxx
var anhang;
//Anhang von der URL trennen
function extAnhang(){
var URLInhalt = location.href;
var ArrayVariable = URLInhalt.split("?");
anhang = unescape(ArrayVariable[1]);
}
//Funktion ausführen
extAnhang();
//Suche Anhang im Array
function checkAnhang(){
id = 1;
//Wenn Anhang kleiner als 4 Zeichen ist gebe id zurück
if (anhang.length <= 4)
{
id = parseInt(anhang);
if (!id) id = 1;
}
//Suche id anhand des Namens und gebe id zurück
if (anhang.length > 4)
{
while (anhang != Daten[id]["m_bild"])
{
id++;
}
}
}
//Funktion ausführen
checkAnhang();
//Setze Array auf id=0 wenn Anzahl überschritten wird
if (id == 999) self.location.href = "mitglieder_listing.htm";
if (id > anz()) id = 1;
[...]