ich evrsuche gerade verzweifelt selbst ein javascript skript zu schreiben,
in dem ich in einem textfeld zeichen für zeichen überprüfe obs auch als float zahl durchgeht..
also keine zwei kommapunkte, zwei minus, minus nur am anfang usw..
mit den diesen spezialbedingungen bin ich noch nicht so ganz fertig
da mir was anderes zu schaffen macht..
nämlich filter ich unabsichtlich auch steuerzeichen raus..
bsp: backspace, tabulator, pfeiltaste, usw..
und ohne diese tasten kann eine eingabe ziemlich lästig sein
zusätzlich verwende ich mochikit bzw hab mir das beispiel
von einer seite kopiert und meinen gegebenheiten nach modifiziert..
(original (ganz unten): http://www.dalkescie...validation.html )
das ganze sieht jetzt so aus:
... <script type="text/javascript" src="http://mochikit.org/MochiKit/MochiKit.js"></script> <script type="text/javascript"> var int_keys_only = function (event) { var c = event.key().string; var x = this.value; if ( (("-0123456789.\r".indexOf(c) == -1) || (x.indexOf(".") != -1 && c == ".") || (x == "" && c == ".") || (x != "" && c == "-")) ){ /* unknown key pressed; ignore it */ event.stop(); } } function pruef(von, bis, wer){ if(parseFloat(wer.value) < von) wer.value = von; if(parseFloat(wer.value) > bis) wer.value = bis; } </script> </head> <body> <div id="container"> <div id="parameter"> <form name="verschleppung" action="skript_sweet.php" method="post"> <table> <tr> <td>Verdunstungsverluste</td><td>0 - 1000</td><td><input id="VDL" onchange="pruef(0,1000,this)" class="zahlen" name="E_Verdunstungsverluste" type="text" maxlength="7" /> l/h</td> </tr> <tr> <td>Konzentration</td><td>0 - 500</td><td><input id="KNZ" onchange="pruef(0,500,this)" class="zahlen" name="E_Konzentration" type="text" maxlength="6" /> g/l</td> </tr> ... </table> <input style="margin-left:60px;" type="submit" name="berechnen" /> </form> </div> <script type="text/javascript"> connect("VDL", "onkeypress", int_keys_only); connect("KNZ", "onkeypress", int_keys_only); ... </script>
wie verhindere ich das "rausfiltern" von steuerzeichen bzw gibts auch eine einfachere lösung als meine?
lg
alex
Dieser Beitrag wurde von neverknown bearbeitet: 13. März 2007 - 11:20