WinFuture-Forum.de: Float Validierung, Zeichen Für Zeichen - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Float Validierung, Zeichen Für Zeichen javascript


#1 Mitglied ist offline   neverknown 

  • Gruppe: aktive Mitglieder
  • Beiträge: 21
  • Beigetreten: 04. Januar 04
  • Reputation: 0

geschrieben 13. März 2007 - 10:54

guten tag, guten abend

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:

...

&lt;script type="text/javascript" src="http://mochikit.org/MochiKit/MochiKit.js"></script>
  
&lt;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>
  
  &lt;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

0

Anzeige



#2 Mitglied ist offline   MNG 

  • Gruppe: aktive Mitglieder
  • Beiträge: 293
  • Beigetreten: 29. März 06
  • Reputation: 0

geschrieben 13. März 2007 - 14:19

Kenne jetzt den restliche Code nicht, aber du willst bei jedem Tastendruck prüfen, ob der Feldinhalt noch ein gültiger float-Wert ist, soweit richtig?

Hmm... Vorschlag:

EDIT: Irgendwie zerhaut die Codebox das Layout, hab's als Datei angehängt. Probier's mal aus!

Angehängte Datei(en)

  • Angehängte Datei  test.html (1,12K)
    Anzahl der Downloads: 131

Dieser Beitrag wurde von MNG bearbeitet: 13. März 2007 - 14:25

0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0