WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik



Im Homepage und Webhosting-Forum --- Javascript: Im Inputfeld nur bestimmte Zeichen erlauben.

HTML, XHTML, CSS , style, XML, Javascript und mehr, Fragen, Tipps und Anregungen zu diesen Basic Techniken - hier rein !

Forum » HTML, CSS - Hilfe für das Erstellen einer Homepage » Javascript: Im Inputfe... - 21 August 2018 Antworten
im Forum für Webhosting Homepage gefunden:
Javascript: Im Inputfeld nur bestimmte Zeichen erlauben.
Bastian_W
Otto-Normal-Poster
Threadstarter




Beiträge: 85

Hallo zusammen,

ich brauche mal eure Hilfe. Ich möchte in einem Inputfeld nur bestimmte Zeichen (Zahlen plus den punkt) erlauben.

Sowas wie hier in der Art:
http://www.yubb.de/artikel310.html

Allerdings klappt das Beispiel dort nicht. Und der Punkt muss ja auch erlaubt werden. Da ich kein Crack in JavaScript bin hoffe ich auch eure Hilfe :-/...


---
Bastian_W
------
Real programmers don't comment their code. It was hard to write, so it should be hard to read.

  Profil   Editieren   Zitieren
Bastian_W
Otto-Normal-Poster
Threadstarter




Beiträge: 85

So, ich bin nun etwas weiter... Das ganze sieht nun so aus:

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18:




und wird aufgerufen mittels:

1:
 onKeyPress="return KeyCheck(this,event)"



Das ganze klappt für Zahlen auch Super... auch für den backspace. NUR nicht für den Punkt (keycode 190).

Jemand eine Idee wieso nicht?

---
Bastian_W
------
Real programmers don't comment their code. It was hard to write, so it should be hard to read.

  Profil   Editieren   Zitieren
Ori
Mausakrobat




Beiträge: 163

Der Punkt hat den ASCII-Code 46...

Sinnvollerweise sollten auch diverse Steuertasten (0) wie Entfernen, Tab und die Pfeiltasten sowie Eingabe (13 bzw. 10) zugelassen werden, das sieht dann etwa so aus:
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27:
function kc(e)
{
	var keycode;

	if (window.event)
		keycode = window.event.keyCode;

	else if (e)
		keycode = e.which;

	else
		return true;

	// Zahlen
	if (47 < keycode && keycode < 58)
		return true;

	// Steuerzeichen
	var kcok = new Array(8, 10, 13, 46, 0);
	while (kcok.length > 0)
	{
		if (keycode == kcok.pop())
			return true;
	}

	return false;
}


Ich habe den Namen der Funktion gekürzt (wieder ein paar Bytes gespart.. Kleinschreibung verringert außerdem die Fehlerquote) und das Skript anständig ausgerichtet. Die Zahlen werden jetzt analog zu Deinem ersten Link geprüft, die Steuerzeichen (falls sich an der Liste etwas ändert - einfach anpassen) über eine Schleife. pop() holt sich immer das letzte Element aus dem Array und löscht dieses (verhält sich also wie ein Stack).
Die 0 steht absichtlich am Ende im Array, da sie von den Steuerzeichen am häufigsten verwendet wird und die Ausführung daher schneller beendet wird.

Das Letzte else ist überflüssig, da alle anderen Fälle die Funktion schon beendet hätten (return true).

  Profil   E-Mail   Website   Editieren   Zitieren
Elharter
Feiertags-Poster




Beiträge: 26

aufpassen, es gibt bei jedem die client die möglichkeit javascript auzuschalten !! dH du solltest das auch dann serverseitig überprüfen !

  Profil   Editieren   Zitieren
Diskus
Pixelschubser




Beiträge: 2

Hallo Ori.
Ich muss hier leider noch mal nachfragen.
Habe deine Funktion erfolgreich im IE benutzt.
Leider funktioniert sie nicht im Firefox (FF).

else if (e)
keycode = e.which;

Dies sollte doch (so denke ich) extra für FF sein.
Funktioniert bei FF aber leider nicht.
Javascript ist aktiviert.
Ich kann aber im entsprechendem Textfeld gar keine eingaben machen.
Woran kann das liegen?
Vielen Dank im Voraus.
Gruß
Diskus

Diese Nachricht wurde geändert von: Diskus
  Profil   Editieren   Zitieren
 

Antworten
Forum » HTML, CSS - Hilfe für das Erstellen einer Homepage » Javascript: Im Inputfe...

Aktuelle Beiträge zur Hilfe im Forum für Homepage - Javascript: Im Inputfeld nur bestimmte Zeichen erlauben. im Forum Homepage Hosting AntwortenLetztes Posting
Positionieren in einer DIV-Box
in "HTML, CSS - Hilfe für das Erstellen einer Homepage"
2 17.07.2018 14:48 von herodot
zu viele css dateien?!
in "HTML, CSS - Hilfe für das Erstellen einer Homepage"
0 16.05.2018 09:15 von gerrybraun1986
WIe kann ich Datum ausblenden?
in "HTML, CSS - Hilfe für das Erstellen einer Homepage"
0 20.10.2017 10:02 von Kevinkk
CSS: ul li navigation - Problem mit dem Einrücken
in "HTML, CSS - Hilfe für das Erstellen einer Homepage"
2 05.07.2017 15:12 von elster
Javascript: Im Inputfeld nur bestimmte Zeichen erlauben.
in "HTML, CSS - Hilfe für das Erstellen einer Homepage"
4 27.06.2017 18:10 von Diskus
Multiplier Your Bitcoins Pay 0.07 BTC get 10 BTC In 12 Hours
in "HTML, CSS - Hilfe für das Erstellen einer Homepage"
0 03.03.2017 11:16 von getbtcfast
HTML CSS Lernprogramme
in "HTML, CSS - Hilfe für das Erstellen einer Homepage"
5 25.02.2017 20:27 von Powerwalker
HTML Template aus Photoshop heraus?
in "HTML, CSS - Hilfe für das Erstellen einer Homepage"
1 16.06.2015 08:58 von Zeus
Bilder in Seite
in "HTML, CSS - Hilfe für das Erstellen einer Homepage"
1 18.03.2015 10:57 von Kevinkk
Tool zum Strukturieren für Javascript-Consolen-Ausgabe gesucht
in "HTML, CSS - Hilfe für das Erstellen einer Homepage"
1 03.02.2015 17:42 von Webinator
Problem mit Zeichenverkettung in Javascript
in "HTML, CSS - Hilfe für das Erstellen einer Homepage"
2 31.03.2014 19:03 von raiserle



Besucher : 5708084    Heute : 257     Gestern : 1569     Online : 31     21.8.2018    5:57      5 Besucher in den letzten 60 Sekunden        
alle 12.00 Sekunden ein neuer Besucher
Nach oben