Frage von TanteHolger, 12

Problem mit einem Array in Javascript?

Moin ihrs,

heute bin ausnahmsweise ich mal auf Hilfe angewiesen. Das Problem liegt in einem Postscript (jQuery) in der donefunktion. Ich sende Daten an ein PHP-Script, welches mir als ergebnis dann einen String mit 4 kommagetrennten Zahlen erzeugt welche ich in ein Array packe. die Arraylenghth ist 4, nur scheinbar ignoriert er die res3 (siehe Code). Was mache ich da falsch? Die Ausgabe mit der ich getestet habe ist "0,0,0,0".

    .done(function( msg ) {
  var err = 0;
  var errmsg = "";
  var res = msg.split(",");
    if(res[0] == "0")
    {
      $("#youtube").css("background", "#FA5858");
      err += 1;    
    }
    if(res[1] == "0")
    {
      $("#facebook").css("background", "#FA5858");
      err += 1;  
    }
    if(res[2] == "0")
    {
      $("#twitter").css("background", "#FA5858");
      err += 1;  
    }
    if(res[3] == "0")
    {
      $("#twitch").css("background", "#FA5858");
      err += 1;  
    }
  if(err >0)
  {
    errmsg = 'Ein oder mehrere Links wurden nicht gespeichert.';
    $("<br />"+ errmsg).insertAfter("#twitch");
  }
});

Danke schonmal für die Hilfe =)

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von Suboptimierer, 12

Ich sehe keinen Fehler.

Existiert wirklich "twitch"?
Zählt err wirklich bis 4?
Welche Ausgabe bekommst du?
Lass dir res[3] mal ausgeben.

Kommentar von TanteHolger ,

Danke schonmal für die Antwort.

res[3] gibt 0 aus und twitch existiert auch. err zählt nur bis 3.


<p>
Youtube<br />
<input type="text" name="youtube" id="youtube" class="profile_input_text" /><br />
Facebook<br />
<input type="text" name="facebook" id="facebook" class="profile_input_text" /><br />
Twitter<br />
<input type="text" name="twitter" id="twitter" class="profile_input_text" /><br />
Twitch<br />
<input type="text" name="twitch" id="twitch" class="profile_input_text" />
</p>



Kommentar von Suboptimierer ,

Hmm, dann frag mal probehalber auf == 0 ab.

Verwirrend ist, dass es keinen Unterschied zwischen res[2] und res[3] zu geben scheint, in das if mit res[2] aber eingestiegen wird.

Kommentar von TanteHolger ,

Ich konnte das Problem ermitteln. Mit dem Javascript ist alles in Ordnung, das Problem war in der php-Datei zu suchen, da wurde am String vor Res4 was angehängt, was da nicht hingehört.
Kommt davon, wenn man Nachts noch was am Script macht und ohne nachzudenken das ganze dann speichert und das Ergebnis morgens vorm Upload nicht kontrolliert.

Ich Danke Dir auf jeden Fall für Deine Hilfe =)

Kommentar von Suboptimierer ,

Stimmt, das wäre noch ein guter Test gewesen, msg per Hand auf 0,0,0,0 in JavaScript zu setzen.

Kommentar von TanteHolger ,

Jups, da kommt man in der "Panik" aber meist nicht drauf :D

Wenn ich jetzt noch wüsste, wie man die Hilfreichste Antwort vergibt, würde ich Dir noch den Stern geben.

Kommentar von Suboptimierer ,

Hast mich doch schon gelobt. :)

HA gehen erst, wenn mindestens zwei Antworten zur Frage existieren.

Kommentar von TanteHolger ,

Oha, doofes System :D

Antwort
von TitusPullo, 3

Deine Lösung hast du ja schon und damit du auch eine HA auswählen kannst, schreibe ich einfach mal was nutzloses :D

Keine passende Antwort gefunden?

Fragen Sie die Community