Lieber Fiffi,
da passen zwei Dinge noch nicht wirklich zusammen:
function reloadcheck(wert){
...
if (wert == '1'){ ... }if (wert == '0'){ ... }
...
function changevalue(param) {
... return reloadcheck(true);
... return reloadcheck();
Der Vergleich `if (variable == 'string')`{:.language-javascript} ist in Deinem Fall nicht unproblematisch. JavaScript nimmt intern einen Vergleich vor, indem es im Falle von "Äpfeln und Birnen" (sprich Boolean und String) vorher eine Typumwandlung durchführt. Hier soll nun true mit '1' und false mit '0' zusammenpassen. Das tut es in Deinem Fall (eigentlich) auch.
Besser zu lesen und für die Projektplanung in der Zukunft: `if (wert) {...}`{:.language-javascript}
Hier wird ein Leerstring, ein String mit "0" (auch mehrere Nullen), eine "echte" Zahl null (oder negativ), ein undefined, ein leeres Objekt und ein false als \_nicht\_ zutreffend erkannt.
Dagegen wird eine Zahl größer null, ein nicht leerer String (der nicht ausschließlich aus 0-Ziffern besteht!), irgendein Objekt mit mindestens einer Eigenschaft oder Methode und ein true als zutreffend erkannt.
Das Gegenstück notierst Du so: `if (!wert) {...}`{:.language-javascript}
Tja, nun ist die Frage was \_genau\_ bei Dir nicht "funzt", und was stattdessen passiert (inklusive Fehlermeldungen in der Konsole).
Liebe Grüße,
Felix Riesterer.
--
ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)