Samuel Vogel: Cancel ausschließen

Hallo,

Ich will bei meiner Javascript Eingabe irgendwie den Cancel Button "nicht gelten" lassen!
So sieht mein Script aus:

text = prompt("Bitte geben einen Text:\n[B]xxx[/B]","");
if(text != "undefined" && text != "" && text != "null") {
  add('[B]' + text + '[/B]');
}

Wenn man jetzt den Cancel Button drückt dann wird trotzdem ein "[B]undefined[/B] eingefügt ich hab keine Ahnung wie ich das unterbinden kann.

Dane schon mal für eure Hilfe!

samy,

  1. hi,

    text = prompt("Bitte geben einen Text:\n[B]xxx[/B]","");
    if(text != "undefined" && text != "" && text != "null") {
      add('[B]' + text + '[/B]');

    Wenn man jetzt den Cancel Button drückt dann wird trotzdem ein "[B]undefined[/B] eingefügt ich hab keine Ahnung wie ich das unterbinden kann.

    du fragst auf "undefined" ab, was logischerweise etwas anderes ist, als undefined.
    bei "null" natürlich ebenso.

    gruss,
    wahsaga

    1. Hallo,

      OK danke also einfach die Anfürhrungsstriche weglassen.

      samy,

    2. Hallo

      text = prompt("Bitte geben einen Text:\n[B]xxx[/B]","");
      if(text != "undefined" && text != "" && text != "null") {
        add('[B]' + text + '[/B]');

      Wenn man jetzt den Cancel Button drückt dann wird trotzdem ein "[B]undefined[/B] eingefügt ich hab keine Ahnung wie ich das unterbinden kann.

      du fragst auf "undefined" ab, was logischerweise etwas anderes ist, als undefined.
      bei "null" natürlich ebenso.

      Ausserdem wird es schwierig werden, diese Bedingung nicht zu erfüllen :-)
      Hinweis: Es sollte eher das logische ODER als das logische UND verwendet werden.

      Freundliche Grüsse,

      Vinzenz

      1. Hallo,

        Nein dass stimmt nicht deine Überlegung ist falsch!
        Es darf ja nicht "undefined" und gleichzeitig nicht "null" sein!!
        Bei oder würde die Bedingung immer wahr sein!

        samy,

        1. Hallo Samy

          Nein dass stimmt nicht deine Überlegung ist falsch!

          Stimmt. Du hast recht und ich habe nicht genügend nachgedacht :-(

          Freundliche Grüsse,

          Vinzenz

  2. Hallo Samuel,

    if(text != "undefined" && text != "" && text != "null") {

    lass die Anführungszeichen um "undefined" mal weg, dann sollte es funktionieren (text != "" und text != "null" sind überflüssig).

    Grüße aus Nürnberg
    Tobias

    --
    Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
    1. Hallo

      if(text != "undefined" && text != "" && text != "null") {
      lass die Anführungszeichen um "undefined" mal weg, dann sollte es funktionieren (text != "" und text != "null" sind überflüssig).

      Ich weiss nicht, ob die Info in http://www.javascripter.net/faq/canceled.htm korrekt ist. Dort steht, dass der Rückgabewert browserabhängig ist. Also wären die drei Einzelprüfungen schon angebracht. Nur mit der UND-Verknüpfung wird es nicht gehen, die ODER-Verknüpfung ist erforderlich.

      Freundliche Grüsse,

      Vinzenz

      1. Hallo Vinzenz,

        Ich weiss nicht, ob die Info in http://www.javascripter.net/faq/canceled.htm korrekt ist.

        nicht ganz - das undefined von Opera fehlt. Aber prinzipiell hast du recht - der IE(6) gibt null, firebird(0.7) einen Leerstring und Opera(7.50p3) eben undefined zurück.

        Nur mit der UND-Verknüpfung wird es nicht gehen, die ODER-Verknüpfung ist erforderlich.

        nein, es muss eine UND-Verknüpfung sein - sonst würde da ja stehen, dass text entweder nicht undefined, nicht leer oder nicht null ist - und eine der Bedingungen wäre immer erfüllt.

        Grüße aus Nürnberg
        Tobias

        --
        Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
        1. Hallo Tobias,

          Ich weiss nicht, ob die Info in http://www.javascripter.net/faq/canceled.htm korrekt ist.
          nicht ganz - das undefined von Opera fehlt. Aber prinzipiell hast du recht - der IE(6) gibt null, firebird(0.7) einen Leerstring und Opera(7.50p3) eben undefined zurück.

          ich meinte auch eher die Info, dass der Rückgabewert browserabhängig ist, weniger die Vollständigkeit der Rückgabewerte.

          Nur mit der UND-Verknüpfung wird es nicht gehen, die ODER-Verknüpfung ist erforderlich.
          nein, es muss eine UND-Verknüpfung sein - sonst würde da ja stehen, dass text entweder nicht undefined, nicht leer oder nicht null ist - und eine der Bedingungen wäre immer erfüllt.

          Ja sicher, war ein Riesendenkfehler von mir :-( Aber wem passiert das nicht mal.

          Freundliche Grüsse,

          Vinzenz