steffen: nur zahlen

Hi, wir sollen in der Schule ein Zeugnisberechnungsprogramm schreiben.

Jetzt sollen in die Felder _NUR_ zahlen eingefügt werden. wenn wer ein Buchstabe einfügt soll eine Fehlermeldung kommen (alert) das nur Zahlen eingefügt werden dürfen.

Dann habe ich noch ein kleines Problem, dass wenn man überhaupt nichts in das Feld einträgt soll eine Meldung kommen das unbedingt etwas einfügen soll.

Wer kann mir da freundlicherweise helfen?

mfg steffen

  1. Hallo steffen,

    Jetzt sollen in die Felder _NUR_ zahlen eingefügt werden. wenn wer ein Buchstabe einfügt soll eine Fehlermeldung kommen (alert) das nur Zahlen eingefügt werden dürfen.

    http://selfhtml.teamone.de/javascript/objekte/unabhaengig.htm#is_nan dürfte dir helfen.

    Dann habe ich noch ein kleines Problem, dass wenn man überhaupt nichts in das Feld einträgt soll eine Meldung kommen das unbedingt etwas einfügen soll.

    dann prüf doch einfach, ob das Feld "" enthält (also einen Leerstring).

    Grüße aus Nürnberg
    Tobias

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

      Dann habe ich noch ein kleines Problem, dass wenn man überhaupt
      nichts in das Feld einträgt soll eine Meldung kommen das unbedingt
      etwas einfügen soll.
      dann prüf doch einfach, ob das Feld "" enthält (also einen Leerstring).

      kleine korrektur------------------------^  = " "

      mfg,
      (tanz das)
      Z.N.S.

      --
      <img src="http://www.dmp-web.de/comunicout/neubauten.gif" border="0" alt="">
      1. Hallo Z.N.S.,

        Dann habe ich noch ein kleines Problem, dass wenn man überhaupt
        nichts in das Feld einträgt soll eine Meldung kommen das unbedingt
        etwas einfügen soll.
        dann prüf doch einfach, ob das Feld "" enthält (also einen Leerstring).
        kleine korrektur------------------------^  = " "

        nein, das dürfte nicht funktionieren, da du dann nur eine Meldung bekommen würdest, wenn ein Leerzeichen in dem Feld steht - und das willst du ja nicht. btw: dein Pfeil zeigt auf das Leerzeichen hinter 'Feld ""' - du hast vermutlich ein anderes Zitatzeichen als ich...

        Grüße aus Nürnberg
        Tobias

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

          bisher klappt alles einwandfrei auch das onChange hat prima geholfen :)

          Nur mit meiner 2ten Frage haut das irgendwie nicht so hin wie ich das möchte.

          Code wäre:

          <html><head><title>Test</title>
          <script type="text/javascript">
          <!--
          function CheckZahl(Wert)
          {
           if(isNaN(Wert) == true)
           {
            alert(Wert + " ist keine Zahl!");
            return false;
           }
           else
           return true;

          if(Wert == ""){
           alert("blubb");
            return false;
           }
           else
           return true;
          }
          //-->
          </script>
          </head><body>
          <form action="">
          <input size="30" name="Eingabe" onChange="CheckZahl(this.form.Eingabe.value)">
          </form>
          </body></html>

          Was mache ich falsch?

          1. Hallo steffen,

            Nur mit meiner 2ten Frage haut das irgendwie nicht so hin wie ich das möchte.

            du willst, dass der Wert in der gleichen Funktion daraufhin geprüft wird, ob er leer ist, richtig?

            function CheckZahl(Wert)
            {
             if(isNaN(Wert) == true)
             {
              alert(Wert + " ist keine Zahl!");
              return false;
             }
             else
             return true;

            an dieser Stelle ist die Funktion zu Ende, da return (afaik) die Ausführung der Funktion beendet, und den übergebenen Wert (hier false bzw. true) zurückgibt. Du musst also entweder das return... weglassen (da du es ja sowieso nicht weiterverarbeitest), oder deine Funktion etwas umstellen; etwa so (Pseudocode):

            function{
              if(Wert==leer){
                //leer
              }
              else{
                if(Wert==isNaN){
                  //keinezahl
                }
                else{
                  //alles ok
                }
              }
            }
            in richtiges js musst du das halt noch übersetzen (und evtl. noch "return (false|true);" einbauen)

            if(Wert == ""){
             alert("blubb");

            wenn du den Block vorher entfernst (oder auskommentierst), sollte das funktionieren

            Grüße aus Nürnberg
            Tobias

            --
            Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
    2. der link ist gut, nur bräuchte ich das ganze ohne das "lästige" check d.h. wenn ich den tab drücke soll das schon geprüft werden.

      1. Hallo steffen,

        nur bräuchte ich das ganze ohne das "lästige" check d.h. wenn ich den tab drücke soll das schon geprüft werden.

        dann baue einen Event-Handler ein (die Stelle in selfhtml darfst du dir jetzt mal selber suchen :-)) z.B. onchange o.ä.

        Grüße aus Nürnberg
        Tobias

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