• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

nur Zahlen eingeben abschalten

rolanddreix

New member
In einer Tabelle trage ich in der ersten Spalte Zahlen ein und in der zweiten Spalte einen Kommentar dazu. Damit in der ersten Spalte wirklich nur Zahlen eingetragen werden, blockiere ich die Eingabe der anderen Tasten mit diesem Code:

Code:
function pruefe_nur_zahl(){
	$(this).keydown( function( e )
	{
		return !(e.altKey || e.ctrlKey || e.shiftKey)
		&& (
			e.keyCode >= 48 && e.keyCode <= 57 // 0 - 9
			|| e.keyCode >= 96 && e.keyCode <= 105 // 0 - 9 NumPad
			|| e.keyCode == 108 // , NumPad
			|| e.keyCode == 110 // , NumPad
			|| e.keyCode == 188 // ,
			|| e.keyCode == 190 // .
			|| e.keyCode == 107 // Plus NumPad
			|| e.keyCode == 61 // Plus NumPad
			|| e.keyCode == 109 // Minus NumPad
			|| e.keyCode == 45 // Minus
			|| e.keyCode == 46 // Löschen
			|| e.keyCode == 8 // Backspace
			|| e.keyCode == 35 // Ende
			|| e.keyCode == 36 // Pos 1
			|| e.keyCode == 37 // Linke Pfeil
			|| e.keyCode == 39 // Rechte Pfeil
		);
	} );
}

Funktioniert soweit ganz gut.
Habe ich aber in der ersten Spalte eine Zahl eingegeben, kann ich in allen Feldern nur noch Zahlen eingeben. Bedeutet: ich muss beim Verlassen eines „nur Zahlenfeldes“ dem Eventlissener sagen: jetzt bitte wieder alle Tasteneingaben akzeptieren. Und wie macht man das am dümmsten?
 
die function pruefe_nur_zahl wird nur in den nur Zahlen feldern aufgerufen.

und this (habe ich geglaubt) bezieht sich nur auf dieses eine Feld?
 
Wie und wo rufst du denn pruefe_nur_zahl() genau auf? Ich habe den Verdacht, dass bei dir this das window ist und nicht das input-Element.
 
Zurück
Oben