Supportnet / Forum / Skripte(PHP,ASP,Perl...)
nur Zahlen ins Input-feld?
Frage
Hallo,
wie kann ich mit JavaScript dafür sorgen, dass in ein Formularfeld ausschließlich Zahlen bzw auch Dezimalzahlen mit 2 nachkommastellen eingetragen werden können?
schonmal vielen Dank,
svensen
Antwort 1 von benia_2
Das geht in etwa so: (Beispiel analog)
(Hier wird auf eine gültige RGB Farbe geprüft)
(Hier wird auf eine gültige RGB Farbe geprüft)
document.onkeydown = handlekeydown // kein ()!!
function handlekeydown() {
if (!isValidColor(document.forms['colorpicker'].red.value)) {
window.event.returnValue = false;
}
}
// check for valid form field input: (integer from 0 - 255)
function isValidColor(curVal) {
var inputChar = event.keyCode;
var allValid = false;
if ((inputChar >= 48) && (inputChar <= 57)) {
allValid = true;
}
// not more then three digits:
if ( curVal.length >=3 ) {
allValid = false;
}
// not more than 255:
var newNumInt = curVal + Number(String.fromCharCode( inputChar ));
if (newNumInt > 255) {
allValid = false;
}
return allValid;
}
Antwort 2 von svensen
danke, ich damit kann ich auf jeden Fall was anfangen!
Antwort 3 von svensen
Sollte das hier nicht den Keycode zurückgeben:
function test() {
alert(window.event.keyCode);
return
}
.
.
.
<input type='text' onKeyup='test()' name='test'></input>
Was habe ich falsch gemacht?
function test() {
alert(window.event.keyCode);
return
}
.
.
.
<input type='text' onKeyup='test()' name='test'></input>
Was habe ich falsch gemacht?
Antwort 4 von Dr.Ma-Busen
Nabend!
Versuch es mal hier mit:
Das Fettgedruckte mit in das Textfeld welches überprüft werden soll.
MfG
Dr. Ma-Busen
Versuch es mal hier mit:
Das Fettgedruckte mit in das Textfeld welches überprüft werden soll.
<input type="text" name="" value="" onkeyup="check(this)">Und diese kleine Funktion irgendwo zwischen <head> und </head> platzierenfunction check(id){
id.value = id.value.replace(/[^0-9\.,]/,"");
}MfG
Dr. Ma-Busen
Antwort 5 von svensen
Danke Doc, genau was ich gesucht habe!
Antwort 6 von svensen
kann hier jemand einen Fehler sehen:
Bei folgendem Aufruf bekomme ich eine Fehlermeldung "Objekt erwartet" (Zeichen 1):
Bin fast am Verzweifeln, finde es einfach nicht.
Vielen Dank für jede Hilfe schonmal im Voraus!
svensen
<script language="text/JavaScript">
<!--
function check(menge){
menge.value = menge.value.replace(/[^0-9]/,"");
rechne();
}
function rechne() {
var help = document.warenkorb.menge.value;
var preis = <? echo $result[preis]; ?>;
document.warenkorb.gpreis.value = $preis*document.warenkorb.menge.value;
return true;
}
//-->
Bei folgendem Aufruf bekomme ich eine Fehlermeldung "Objekt erwartet" (Zeichen 1):
<input onKeyup='check(this)' type='text' name='menge' value='1' size='15' maxlength='3'></input>Bin fast am Verzweifeln, finde es einfach nicht.
Vielen Dank für jede Hilfe schonmal im Voraus!
svensen
Antwort 7 von ThomasOOP
muss man das <!-- nicht noch mit // auskomentieren ?
Antwort 8 von svensen
nein, mit "<!--" wird angefangen und mit "//-->" beendet.
Antwort 9 von Dr.Ma-Busen
Mahlzeit!
Dann ist da noch ein Fehler und zwar hast du eine Variable $preis die hast du aber nirgendwo deklariert
MfG
Dr. Ma-Busen
<script language="text/JavaScript">
das müsste <script type="text/JavaScript">lauten.Dann ist da noch ein Fehler und zwar hast du eine Variable $preis die hast du aber nirgendwo deklariert
MfG
Dr. Ma-Busen
Antwort 10 von svensen
... und schon funktioniert es wieder!
Danke Doc, nun schon zum 2.mal! Aber kannst du mir auch sagen wo der Unterschied zwischen
und
liegt?
Nur des Verständnisses wegen.
Danke!
Danke Doc, nun schon zum 2.mal! Aber kannst du mir auch sagen wo der Unterschied zwischen
<script type="text/JavaScript">und
<script language="JavaScript">liegt?
Nur des Verständnisses wegen.
Danke!
Antwort 11 von Dr.Ma-Busen
ich werde es mal versuchen *g*
Die angabe mit den Mime-Type (type="text/javascript") ist seit HTML4.0 Pflicht, wenn du HTML4.0 Validen Quelltext haben möchtest, wovon jetzt ich mal ausgehe ;).
Hoffe mal du hast jetzt verstanden was ich gesagt habe, ansonsten kannst du dir den abschnitt in selfHTML nach mal durchlesen.
MfG
<script language="JavaScript">gehört zu den missbilligten Attributen und wird auch nicht von allen Browsern korrekt interpretiert. Wobei aber das Attribut bei dir auch gehen müsste. Du hattest vorher language="text/JavaScript" dort stehen und diese Sprache kennt der Browser nicht, der kennt nur language="JavaScript" bzw. language="JavaScriptX.X" (X.X = Version)Die angabe mit den Mime-Type (type="text/javascript") ist seit HTML4.0 Pflicht, wenn du HTML4.0 Validen Quelltext haben möchtest, wovon jetzt ich mal ausgehe ;).
Hoffe mal du hast jetzt verstanden was ich gesagt habe, ansonsten kannst du dir den abschnitt in selfHTML nach mal durchlesen.
MfG
Antwort 12 von svensen
alles klar, das hab ich gecheckt.
hab nochmals vielen Dank!
hab nochmals vielen Dank!

