Erstmal Gratulation zu diesem Forum. Es ist wahrlich TOP!
Ich möchte als Input nur Zahlen akzeptieren und habe eine Lösung da gefunden:
http://stackoverflow.com/questions/469357/html-text-input-allow-only-numeric-inputUnd zwar diese Lösung:
<input type="text"
onkeydown="return (event.ctrlKey || event.altKey
|| (47<event.keyCode && event.keyCode<58 && event.shiftKey==false)
|| (95<event.keyCode && event.keyCode<106)
|| (event.keyCode==8) || (event.keyCode==9)
|| (event.keyCode>34 && event.keyCode<40)
|| (event.keyCode==46)
|| (event.keyCode==13))"
style="width:144px" name="eingabewert" maxlength="12">Das funktioniert bestens. Allerdings wird es ab 2 Eingabefeldern ökonomischer den Javascriptcode in eine Funktion auszulagern.
Irgendwie so:
Javascript:
<script type="text/javascript">
function NumVal (Feld) {
if (keyCode(Feld) == ( event.ctrlKey || event.altKey
|| (47<event.keyCode && event.keyCode<58 && event.shiftKey==false)
|| (95<event.keyCode && event.keyCode<106)
|| (event.keyCode==8) || (event.keyCode==9)
|| (event.keyCode>34 && event.keyCode<40)
|| (event.keyCode==46)
|| (event.keyCode==13)))
{return true;}
else
{return false;}
}
</script>HTML:
<input type="text"
onkeydown="NumVal(this.value)"
style="width:144px" name="eingabewert" maxlength="12">Wo ist etwas falsch?
So läuft es bei mir:
function NumVal (Feld) {
if (Feld == ( event.ctrlKey || event.altKey
|| (47<event.keyCode && event.keyCode<58 && event.shiftKey==false)
|| (95<event.keyCode && event.keyCode<106)
|| (event.keyCode==8) || (event.keyCode==9)
|| (event.keyCode>34 && event.keyCode<40)
|| (event.keyCode==46)
|| (event.keyCode==13)))
{}
else
{return false;}
}
<input type="text"
onkeyup="NumVal(this.value)"
style="width:144px" name="eingabewert" maxlength="12">
Beim if keyCode weggelassen (und "return true;" überflüssig). Weiters onkeydown mit onkeyup ersetzt. Klar, bei onkeydown steht nichts in der Eingabe und kann auch nichts übergeben werden. Aber bei if im javascript mehr Dusel als Verstand? ;-)
Funktioniert das bei euch auch?