letztes array element mit .pop() löschen

deusfalsus

Erfahrenes Mitglied
Ich möchte auf folgende Art (eine andere ist mir nicht bekannt) ein Element aus einem array löschen.
Zunächst bekommt ab dem übergebenen Index jedes Element nacheinander den Wert seines Nachfolgers. Anschließend soll das letzte (und nun ja doppelt vorhandene) Element gelöscht werden.

PHP:
function loesch(index)
{
 x=korb.length;
 for(var i  = index; i <= (x-1); i++)
  {
   korb[i][0]=korb[i+1][0];
   korb[i][1]=korb[i+1][1];
  }
 korb.pop();
 korbanzeige();
}

Ich muß da irgendwo einen Fehler haben, jedenfalls geht es nicht. Bis zum Befehl korb.pop() gehts, dann stehts. Die nachfolgende Funktion korbanzeige() wird ebenfalls nicht ausgeführt (auch wenn ich den pop()-Befehl weglasse).

Ich hänge mal die komplette(noch unfertige) Datei an, falls sich so jemand einen besseren Überblick verschaffen will.
 

Anhänge

Ich glaub,da musst du mal mit der Kompletten Seite rüberrücken.... ;)

Ich kann mir nicht vorstellen,dass jemand hier Bock hat, sich etwas um deine
Skripte herumzukonstruieren, was dem nahekommt,was du bei dir zu laufen hast...und nur dann
lässt sich der Fehler lokalisieren....rein von der Syntax her scheint zumindest keiner da zu sein.

Was ich aber schonmal avisieren kann..mit "innerHTML" beisst du bei Netscape und Opera < V.7 auf Granit ;)
 
Zuletzt bearbeitet:
Hab doch die komplette Skript-Datei angehängt.(?)

Den unfertigen shop kann ich noch nicht in die Seite implementieren, aber man kann die Seite zu Testzwecken ohne Frameset hier anklicken . Da fehlen noch ein paar images und so, die hab ich zuHause, lad ich später noch hoch.
Am Hintergrundbild erkennt man, wie groß das frame, im welchem das ganze dann steckt, ist.

Hier noch der link zum Skript
 
:)
Das war es,was ich meinte...die ganzen Formulare hätt man sich sonst selbst
zusammenbasteln müssen.

Der Fehler lag darin,dass die loesch()-Funktion jeweils beim letzten korb[]-Element auf
ein nicht existierendes korb[]-Element zugreifen wollte,nämlich das darauf folgende :-)
Ursache ist diese Zeile:
Code:
 for(var i = l; i <= (x-1); i++)
nehme das rote '=' raus,und es sollte gehen
 

Neue Beiträge

Zurück