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


Homepage und Webhosting-Forum

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 » mit Java Script Zeichen in Eingabefeldern sperren/erlauben » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

mit Java Script Zeichen in Eingabefeldern sperren/erlauben
von Gon
ok, c3o, das sieht echt hilfreich aus.

vielen Dank.
von c3o
"Nur das letzte Zeichen" bringt dich nicht weiter, weil man dann immer noch verbotene Zeichen rein-copypasten kann -- also mit einem Tastendruck jede Menge Zeichen unterbringt.

> Beispielscript

Wie schon erwaehnt bleibt dir die serverseite nochmalige Ueberpruefung aber nicht erspart.
von subjective
Wie schon beschreiben geht es durchaus auch bei jedem Tastendurck. Empfehlen würde jedoch eher das Prüfen beim Absenden (mittels JavaScript) und beim Empfangen (serverseittig mittels ASP). In beiden Fällen solltest du RegEx nutzen können.

Direkt bei der Eingabe wird dies jedoch sehr schwierig. So wäre 2005-06 kein gültiges Datum obwohl du es als Eingabe zulassen mußt. Der User vervollständigt es ja erst durch die weitere Eingabe.
von Gon
hab mich eben n bissl mit htmlentities() beschäftigt.
In ASP:
1: 
2: 
3: 
4: 
5: 
6: 
7:
  to encode user input text:

 Server.HtmlEncode("<your string>");

to display the data in a control:

 Server.HtmlDecode("&lt;your string&gt;");

Das beseitigt zwar das Problem mit dem HTML Zeichen in der DB, was schonmal hilfreich ist, aber kann nicht verwendet werden um andere Zeichen abzufangen (Buchstaben in Datumsangaben etc.

Ich setzt mich jetzt ma hinter das regexp und versuch das zu verstehen.
Mich interessiert jetzt erstmal ob man damit bei jedem Tastendruck das neue Zeichen prüfen kann oder nur das gesammte Eingabefeld.
von Austin Powers
Ja, ist möglich.
Mit den Eventhändlern "onKeydown" und "onKeypress" oder "onKeydown" (http://de.selfhtml.org/javascript/sprache/eventhandler.htm) die eigegebene Zeichenkette per regulärem Ausdruck (http://de.selfhtml.org/javascript/objekte/regexp.htm) überprüfen und gültige zeichen wiedergeben,bzw ungültige löschen.
Der bessere Weg wäre allerdings, da sicherer in PHP mit htmlentities() zu arbeiten o.ä. in asp. (ihhh microdoof)
von Gon
ok, kurz zum Umfeld des Einsatzes dieser Idee.

Anwendungsort:
das Intranet einer Firma
User:
Berechtigte Mitarbeiter einer einzigen Abteilung
Umsetzung:
Kombination aus HTML, Javascript und ASP mit einer dahinterliegenden SQL-Datenbank


Wir haben ein Formular in das die Mitarbeiter der Personalabteilung die Bewerberdaten eintragen. Ich möchte gerne verhindern, dass gewisse Zeichen eingegeben werden die entweder unsinnig wären (Buchstaben in Datumsangaben) oder die Datenbank gefährden würden (zB HTML Tags)

Ich möchte gerne eine Möglichkeit haben, dem User die Eingabe solcher Zeichen zu untersagen. Ich möchte nicht erst das ganze abschicken, auslesen, überprüfen und dann eintragen oder wieder ausgeben mit den Fehleingaben zur Korrektur.
Ich hatte bisher eine Lösung, die beim Verlassen des Feldes den Inhalt prüft und den Focus auf das Feld legt so dass der User erst weitegehen kann, wenn die Eingabe korrekt ist.
Ich hätte es lieber, wenn er die Zeichen gar nicht erst eingeben kann. Er tippt sozusagen auf seiner Tastatur ein "<" und es erscheint garnicht erst. ich dachte da als erstes an Java Script
Ist das möglich?


Bitte betrachtet das ganze nicht nach den Standpunkten wie "Den User zwingen ist nicht gut" oder ähnlichem, auch wenn ich bei Web Programmierung sowas beachte ist es jetzt hier auf Arbeit nicht von Bedeutung.


---
'Never imagine yourself not to be otherwise than what it might appear to others that what you were or might have been was not otherwise than what you had been would have appeared to them to be otherwise.'
(the Duchess)

Nach oben