Abbruch-Behandlung für Javascript prompt fehlt
Linuchs
- javascript
- wiki
0 Der Martin0 Linuchs0 Der Martin0 Linuchs
0 Rolf B
Moin,
ich experimentiere, Cookie-Inhalte mit Javascript zu ändern. Dazu nutze ich prompt:
var cookie_value = prompt( "neuer Wert für Cookie " + arr_cookie[0].trim() + " (wenn leer, wird Cookie gelöscht):", arr_cookie[1].replace(/%40/g, "@") );
if ( cookie_value ) {
// Cookie aendern
} else {
// Cookie loeschen
}
Wenn die prompt-Meldung abgebrochen wird, wird the cookie gelöscht, das ist nicht gewollt. Ich vermute, cookie_value hat dann den Wert FALSE, ich teste ...
ja, so führt der Abbruch zur Nicht-Bearbeitung:
if ( cookie_value.length > 0 && cookie_value !== false ) {
// Cookie aendern
} else if ( cookie_value.length == 0 && cookie_value !== false ) {
// Cookie loeschen
}
Gruß, Linuchs
Hallo,
ich experimentiere, Cookie-Inhalte mit Javascript zu ändern. Dazu nutze ich prompt:
jaja, soweit okay.
Wenn die prompt-Meldung abgebrochen wird, wird the cookie gelöscht, das ist nicht gewollt. Ich vermute, cookie_value hat dann den Wert FALSE
Und was möchtest du jetzt eigentlich wissen?
Live long and pros healthy,
Martin
Und was möchtest du jetzt eigentlich wissen?
Hinweis, den wiki zu ergänzen, es fehlt der Rückgabewert bei Abbruch.
n'Abend Kalle,
Und was möchtest du jetzt eigentlich wissen?
Hinweis, den wiki zu ergänzen, es fehlt der Rückgabewert bei Abbruch.
ah, verstehe. Danke, ist ergänzt.
Hättest du auch selbst tun können - es ist ein Wiki. 😉
Live long and pros healthy,
Martin
Hättest du auch selbst tun können - es ist ein Wiki.
Bei Sachen, bei denen ich nicht ganz sicher bin, lass ich lieber nochmal jemanden Korrektur lesen. Vorsicht hat sich ausgezahlt, false war falsch ;-)
Hallo Linuchs und Martin,
ich wage zu widersprechen.
Abbrechen von prompt() ergibt bei mir nicht FALSE, sondern NULL. Und das schreibt auch die HTML Spec (8.8.1 Simple Dialogs).
If the user cancels the prompt, then returns null instead.
Bitte prüft euren Versuchsaufbau. Kam da wirklich false?
let ergebnis = prompt("What is six multiplied by nine", "42");
console.log("Typ von Ergebnis ist " + (typeof ergebnis));
if (ergebnis === null)
console.log("Ergebnis ist null");
else if (ergebnis === false)
console.log("Ergebnis ist false");
else
console.log("Ergebnis ist " + ergebnis);
Der ausgegebene Typ sollte object sein (weil das der Typ von null
ist), und nicht boolean.
Rolf
Hallo Rolf,
ich wage zu widersprechen.
und womit? Mit Recht.
Abbrechen von prompt() ergibt bei mir nicht FALSE, sondern NULL. Und das schreibt auch die HTML Spec (8.8.1 Simple Dialogs).
Und auch die MDM-Doku, die ich selbst verlinkt habe.
Bitte prüft euren Versuchsaufbau.
Was für'n Versuchsaufbau? Ich habe nur aufgrund von Aussagen argumentiert.
Ich bin halt eher ein C-Programmierer, und da ist 0, false oder NULL einfach dasselbe.
Live long and pros healthy,
Martin
printf('Hallo %s!', ['Du', 'ihr', 'Welt', 'zusammen'][rand(0, 3)]);
Was für'n Versuchsaufbau? Ich habe nur aufgrund von Aussagen argumentiert.
Ich bin halt eher ein C-Programmierer, und da ist 0, false oder NULL einfach dasselbe.
NULL
, McFly0
, McFlyfalse
, McFlySeltsame Sprache 😜
/K
Hallo kai345,
in der JavaScript-Erweiterung dann noch
""
, McFlyundefined
, McFlyArmer Biff, das kapiert er nie.
Rolf