Überprüfung auf Zahlenstring
BigPeter
- javascript
0 Felix Riesterer0 Gunnar Bittersmann0 molily
0 Steel0 MudGuard
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
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.
@@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'
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
Moin
IsNumeric()
Zuviel Visual Basic geschrieben? Geht mir auch oft so...
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
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
@@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'