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 Nov 2024 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: 162

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
lyfwcn
Pixelschubser




Beiträge: 1

Fatal error: Uncaught Error:

  Profil   E-Mail   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
Unvorhersehbare Layout-Verschiebungen auf meiner Seite - Ideen?
in "HTML, CSS - Hilfe für das Erstellen einer Homepage"
0 20.08.2023 20:14 von Freud
Geschenkidee zum Geburtstag
in "HTML, CSS - Hilfe für das Erstellen einer Homepage"
2 14.04.2022 16:08 von bryleth03
Webdesigner gesucht
in "HTML, CSS - Hilfe für das Erstellen einer Homepage"
2 10.12.2021 15:04 von Rieke
Welcher Hoster ist der Beste?
in "HTML, CSS - Hilfe für das Erstellen einer Homepage"
1 10.12.2021 15:02 von Rieke
Warum Wordpress?
in "HTML, CSS - Hilfe für das Erstellen einer Homepage"
6 05.07.2021 18:27 von Rieke
Die Idee einen Blog zu führen
in "HTML, CSS - Hilfe für das Erstellen einer Homepage"
2 27.02.2021 09:50 von Samira2021
zu viele css dateien?!
in "HTML, CSS - Hilfe für das Erstellen einer Homepage"
4 19.01.2021 19:20 von Laurena
WIe kann ich Datum ausblenden?
in "HTML, CSS - Hilfe für das Erstellen einer Homepage"
1 23.11.2020 12:21 von noahradar96
Tabelle mit Mannschaftslogos
in "HTML, CSS - Hilfe für das Erstellen einer Homepage"
3 23.10.2019 14:54 von andyy
Eigene Website erstellen - kostenlos!
in "HTML, CSS - Hilfe für das Erstellen einer Homepage"
0 17.05.2019 15:01 von Fusselchen



Besucher : 8126370    Heute : 288     Gestern : 463     Online : 44     21.11.2024    10:18      0 Besucher in den letzten 60 Sekunden        
Nach oben