#1 12. März 2012 if mit mehreren Bedingungen Hey Rushler, ich dreh gleich durch...das ist doch so richtig... Code: var Begriff = document.forms[0].bild1.value; var x = Begriff.length; var y = Begriff.lastIndexOf('.')+1; var Teil = Begriff.substr(y, x); if (Teil != 'jpg' || Teil != 'JPG' || Teil != 'JPEG' || Teil != 'jpeg') { alert('Sie haben einen flaschen Dateityp beim Bild 1 verwendet! Bitte nur Bilder im JPG-Format hochladen.');return false; } ..bei mir gibt es trotzdem die Fehlermeldung aus, wenn ich ein jpg hochlade -.- wo liegt der Fehler?! + Multi-Zitat Zitieren
#2 12. März 2012 AW: if mit mehreren Bedingungen Ich programmiere kein JavaScript aber gefühlsmäßig würde ich das so machen Code: if ((Teil != 'jpg') || (Teil != 'JPG') || (Teil != 'JPEG') || (Teil != 'jpeg')) + Multi-Zitat Zitieren
#3 12. März 2012 AW: if mit mehreren Bedingungen ...leider nein...funzt immernoch nicht... -.- trotzdem danke! + Multi-Zitat Zitieren
#4 12. März 2012 AW: if mit mehreren Bedingungen Ich würde es so machen: Code: var Begriff = "Bild.jpg"; var x = Begriff.length; var y = Begriff.lastIndexOf('.')+1; var Teil = Begriff.substr(y, x); if (!(Teil == 'jpg' || Teil == 'JPG' || Teil == 'JPEG' || Teil == 'jpeg')) { alert('Sie haben einen flaschen Dateityp beim Bild 1 verwendet! Bitte nur Bilder im JPG-Format hochladen.'); return false; } Hat ein wenig was mit den Bedingungen zu tun: ich schaue, ob die Endung irgendwo vorkommt und das negiere ich. Wenn das dann wahr ist, dann ist die Endung ungültig. Funktioniert. Hier das Beispiel: Edit fiddle - JSFiddle greez + Multi-Zitat Zitieren
#5 12. März 2012 AW: if mit mehreren Bedingungen Super! Funktioniert! Danke! Aber was war dann bitte an meinem falsch? Im Prinzip müsste es doch mit meinem auch gehen, oder? + Multi-Zitat Zitieren
#6 12. März 2012 AW: if mit mehreren Bedingungen Also nochmal zur Erklärung: deine Bedingung lieferte immer true zurück. Warum? Schau dir an, was die einzelnen Unterbedingungen liefern selbst wenn keine der genannten Endungen zutreffen, dann liefern alle Unterbedingungen true und da du die Bedingungen mit ODER verknüpfst ist die Aussage immer wahr. Eine Tabelle mit einem beispiel kann das anschaulich machen: Endung: jpg Teil != 'jpg' => false Teil != 'JPG' => true Teil != 'JPEG' => true Teil != 'jpeg' => true Aussage: true Endung: xxx Teil != 'jpg' => true Teil != 'JPG' => true Teil != 'JPEG' => true Teil != 'jpeg' => true Aussage: true Deine Aussage war also immer wahr. Bei meiner Aussage ist es so, dass sie nur dann wahr liefert, wenn die Endung nicht unter den überprüften vorkommt. greez + Multi-Zitat Zitieren
#7 12. März 2012 AW: if mit mehreren Bedingungen oh man ey...stimmt...manchmal könnt ich mich selbst... -.- Danke für deine Hilfe + Multi-Zitat Zitieren
#8 12. März 2012 AW: if mit mehreren Bedingungen geht mit nem regex einfacher Code: if (!/jpe?g/i.test(Teil)) { alert("falsch"); } ansonsten kannst du mehrfachabfragen dieser art mit einem switch-case erledigen. das hat zwar den selben effekt wie eine if-abfrage, ist aber deutlich übersichtlicher und einfacher zu erweitern. java und c-programmierer übersehen diese art von abfrage oft, da es dort nicht möglich ist strings in switch-case zu vergleichen, in javascript ist das aber ein alltägliches konstrukt zudem hast du automatisch einen === vergleich. Code: switch (Teil) { case 'jpg': case 'jpeg': case 'JPG': case 'JPEG': break; default: alert('fehler!') } um diese abfrage noch zu vereinfachen kannst du so vorgehen (gänige praxis): Code: switch (Teil.toLowerCase()) { case 'jpg': case 'jpeg': break; default: alert('fehler!') } + Multi-Zitat Zitieren
#9 14. März 2012 AW: if mit mehreren Bedingungen Auch wenn die Frage bereits beantwortet wurde. Mit "&&" statt "||" tut es das auch (Selber Effekt wie den kompletten Ausdruck zu negieren) + Multi-Zitat Zitieren
#10 14. März 2012 AW: if mit mehreren Bedingungen eine anmerkung möchte ich dazu auch los werden. sollte man mit einem framework arbeiten, dann gibt es sicher ne function wie bei php -> in_array() jQuery -> inArray() mooTools -> indexOf() + Multi-Zitat Zitieren