BigPeter: Überprüfung auf Zahlenstring

Ich brauche mal eine kurze Auffrischung in Sachen Javascript.

  
function gallery_add_check() {  
 // Variablen true setzen  
 forminput = true;  
 justnumbers = true;  
 // Abkürzung um Code zu erleichtern  
 b = document.galleryadd;  
 // Überprüfen auf Eingaben  
 if(b.galleryname.value == '') {forminput = false;}  
 if(b.gallerynr.value == '')   {forminput = false;}  
 if(b.marathon.value == '')    {forminput = false;}  
 // Überprüfen auf Zahlenstring bei Feldern  
 if(!IsNumeric(b.gallerynr.value)) {justnumbers = false;}  
 // Fehlermeldungen ausgeben  
 if(forminput == false)   {alert('Bitte alle Pflichtfelder ausfüllen');                 return forminput;}  
 if(justnumbers == false) {alert('Bitte nur Zahlen beim Feld Gallerienummer eingeben'); return justnumbers;}  
 return;  
}

So sieht mein Script bis jetzt aus ...
Dieses funktioniert auch fehlerfrei sobald ich folgende zwei Zeilen noch auskommentiere :

  
if(!IsNumeric(b.gallerynr.value)) {justnumbers = false;}  
if(justnumbers == false) {alert('Bitte nur Zahlen beim Feld Gallerienummer eingeben'); return justnumbers;}  

Wenn ich diese jedoch im Script lasse, zieht die ganze Funktion nicht mehr.
Ich möchte, dass das Script beim 2ten Teil überprüft ob auch wirklich nur Zahlen/Nummern in der übergebenen Variable sind.

Kann mir wer kurz auf die Sprünge helfen ?

Grüße

Pete

  1. Lieber BigPeter,

    if(!IsNumeric(b.gallerynr.value)) {justnumbers = false;}

    Du benutzt hier eine eigene Funktion namens "IsNumeric", die in Deinen Code-Beispielen aber nirgends definiert wird. Daher habe ich keine Ahnung, ob der Fehler in ihrem Nichtvorhandensein besteht, oder ob Du im Code dieser Funktion Syntaxfehler hast, die JavaScript an seiner Ausführung hindern.

    Auch in Deinem Falle gilt: Zuerst in der Fehlerkonsole des Browsers nachschauen!

    Liebe Grüße,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)
  2. @@BigPeter:

    nuqneH

    if(!IsNumeric(b.gallerynr.value)) {justnumbers = false;}

    Wie sieht den deine Funktion IsNumeric() aus? Und warum hast du eine solche, wo JavaScript sowas doch schon http://de.selfhtml.org/javascript/objekte/unabhaengig.htm#is_nan@title=bietet?

    Oder hast du keine solche? Schlecht geguttet?

    if(forminput == false)   {alert('Bitte alle Pflichtfelder ausfüllen');                 return forminput;}
    if(justnumbers == false) {alert('Bitte nur Zahlen beim Feld Gallerienummer eingeben'); return justnumbers;}

    Oben hattest du es noch (geguttet?), jetzt die unsinnigen Vergleiche gegen false? Einfach: if (!forminput) bzw. if (!justnumbers)

    Übrigens baust du mit JavaScript etwas nach, was die aktuellen Versionen aller gängigen Browser mit @required- und @type-Attributen auch ohne JavaScript können.

    Qapla'

    --
    Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
    (Mark Twain)
    1. Wie sieht den deine Funktion IsNumeric() aus? Und warum hast du eine solche, wo JavaScript sowas doch schon http://de.selfhtml.org/javascript/objekte/unabhaengig.htm#is_nan@title=bietet?

      Siehe auch das Beispiel »zahlenverarbeitung« unter
      http://aktuell.de.selfhtml.org/artikel/javascript/objektabfragen/#typeof

      if(forminput == false)   {alert('Bitte alle Pflichtfelder ausfüllen');                 return forminput;}
      if(justnumbers == false) {alert('Bitte nur Zahlen beim Feld Gallerienummer eingeben'); return justnumbers;}

      Oben hattest du es noch (geguttet?), jetzt die unsinnigen Vergleiche gegen false? Einfach: if (!forminput) bzw. if (!justnumbers)

      Der (große) Unterschied wird hier erklärt:
      http://aktuell.de.selfhtml.org/artikel/javascript/objektabfragen/#obj
      http://aktuell.de.selfhtml.org/artikel/javascript/objektabfragen/#true

      Mathias

  3. Moin

    IsNumeric()

    Zuviel Visual Basic geschrieben? Geht mir auch oft so...

    --
    Vergesst Chuck Norris.
    Sponge Bob kann unter Wasser grillen!
  4. Hi,

    noch was am Rande:

    if(b.gallerynr.value == '')   {forminput = false;}

    Die engl. Abkürzung für Nummer ist no, nicht nr

    if(justnumbers == false) {alert('Bitte nur Zahlen beim Feld Gallerienummer eingeben'); return justnumbers;}

    Entweder "gallery number" oder "Galerienummer".

    Die eingedeutschte Galerie wird mit nur einem l geschrieben.

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    O o ostern ...
    Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
    1. Hallo,

      Die eingedeutschte Galerie wird mit nur einem l geschrieben.

      ... denn sie stammt schließlich nicht von "Galle" ab - obwohl Wiktionary tatsächlich "Gallerie" als alternative, wenn auch veraltete Schreibweise angibt. Das erstaunt mich jetzt sehr ...

      Aber gefühlsmäßig kämpft die "Gallerie" wohl mit "Standart" um den Preis für den häufigsten Schreibfehler.

      Ciao,
       Martin

      --
      Wer mit dem Finger droht, sollte ihn am Abzug haben, und nicht in der Nase.
      Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
      1. @@Der Martin:

        nuqneH

        Aber gefühlsmäßig kämpft die "Gallerie" wohl mit "Standart" um den Preis für den häufigsten Schreibfehler.

        Bei Wortstämmen. Deppenleerzeichen dürften beiden weit vorraus[sic!] sein.

        Qapla'

        --
        Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
        (Mark Twain)