Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Enter Taste TEILWEISE im Formular blockieren?

Frage Entwicklung Webentwicklung

Mitglied: Unitet20

Unitet20 (Level 1) - Jetzt verbinden

16.01.2009, aktualisiert 10:01 Uhr, 7461 Aufrufe, 2 Kommentare

Moin!
Ich weiß das es im Web unzählige Foren-Beiträge zu dem Thema gibt.
Allerdings habe ich eine wirklich praktikable Lösung dafür noch nicht gesehen...
Zumindest keine die das kann, was ich vorhabe...

Also fange ich mal an...

Das Problem:
Wenn Jemand in einem HTML Formular auf Enter drückt, wird das Formular abgeschickt!

Meine Wunschlösung:
Die Enter Taste nur in MANCHEN Input Feldern blockieren und durch einen Tabulator "ersetzen" ...
Warum nur in Manchen Feldern?

Ganz einfach:
Ich habe für die Firma ein Web- Urlaubsformular programmiert...
Das hat dementsprechend einiges an input und textfeldern...
In den Input-Feldern soll nun die Enter Taste gesperrt werden, damit das Formular nicht versehentlich verschickt wird.
In den Textfeldern soll die Enter Taste alleridngs noch funtkionieren, damit man darin auch einen Zeilenumbruch bewerkstelligen kann.

Die Einzige Lösung die ich bisher gefunden habe und zu Opera, FF und IE kompatibel ist, Blockiert die Enter-Taste allerdings im kompletten Formular.

01.
<script language="JavaScript"> 
02.
document.onkeydown = checkKeycode 
03.
function checkKeycode(e) { 
04.
var keycode; 
05.
if (window.event) keycode = window.event.keyCode; 
06.
else if (e) keycode = e.which; 
07.
alert("keycode: " + keycode); 
08.
09.
</script>
Allerdings bin ich nun nicht so der JS-Held um daraus zu bauen was ich gerne hätte.
Daher brauche ich da ein bisschen Hilfe.

Meint ihr das kann man irgendwie Lösen?
Oder suche ich hier nach dem Heiligen-Grahl der Formular-Erstellung? ;)

Lieben Gruß und Danke schonmal für eure Antworten!
Unitet20
Mitglied: Unitet20
16.01.2009 um 11:38 Uhr
Okay, ein bisschen weiter bin ich schon...

Formular
01.
<form name="test" action="irgendwas" method="post"> 
02.
<input type="text" name="eingabe1" onkeypress="catchKeycode(event.keyCode)"><br> 
03.
<input type="text" name="eingabe2" onkeypress="catchKeycode(event.keyCode)"><br> 
04.
<input type="text" name="eingabe3" onkeypress="catchKeycode(event.keyCode)"><br> 
05.
<input type="text" name="eingabe4" onkeypress="catchKeycode(event.keyCode)"><br> 
06.
<input type="submit" name="submit" value="Senden">
JS-Funktion
01.
function catchKeycode(k) { 
02.
    if(k == 13){ 
03.
        alert(k); 
04.
05.
}
So kann ich aufjedenfall aus allen aktuellen Browserversionen von IE, FF und Opera den keyCode abfragen...

Allerdings weiß ich nun nicht, wie ich es schaffe, das statt der KeyCode =13 die KeyCode = 9 ausgeführt wird...
Kann mir da einer weiterhelfen? ^^ Oder muss ich mich nun erstmal komplett ins Thema JS einlesen? ;)

Lieben Gruß
Uni
Bitte warten ..
Mitglied: Unitet20
20.01.2009 um 15:08 Uhr
Okay, habs allein gelöst...
Musste mich zwar erst ein bisschen ins Thema JS einlesen, aber was solls.

Ist warscheinlich nicht die beste Lösung, denn IE meckert wegen "Active X Komponenten" aber in unserem Intranet sind die Sicherheitseinstellungen nicht so hoch und da gibts dann keine Meldung...

Also meine Lösung ist folgende:


Formular:

01.
<form name="test" action="irgendwas" method="post">  
02.
    <input type="text" name="eingabe1" onkeypress="return catchKeycode(form, event.keyCode, 1, 4)"><br>  
03.
    <input type="text" name="eingabe2" onkeypress="return catchKeycode(form, event.keyCode, 2, 4)"><br>  
04.
    <input type="text" name="eingabe3" onkeypress="return catchKeycode(form, event.keyCode, 3, 4)"><br>  
05.
    <input type="text" name="eingabe4" onkeypress="return catchKeycode(form, event.keyCode, 4, 4)"><br>  
06.
    <input type="submit" name="submit" value="Senden">

JS-Funktion

01.
function catchKeycode(f, eventCode, pos, end){ 
02.
    if(eventCode == 13){      // Wenn enter gedrückt 
03.
        pos = pos+1 // NR des nächsten Input-Felds 
04.
        if(pos <= end){ 
05.
             f.elements['eingabe['+pos+']'].focus(); // Springe zu nächstem Input feld 
06.
07.
        return false; // Event = ENTER nicht ausführen 
08.
09.
    else{ 
10.
        return true; // Jede andere Taste ist OK 
11.
12.
}
Ist wie gesagt nur eine Bastellösung die für meine Zwecke reicht...
Aber vielleicht bastelt der ein oder Andere daraus noch was sinnvolleres, oder findet hier die nötigen Infos zu "Weiterverarbeitung" ...

NACHTRAG: Die Funktion habe ich mit Opera 9.6, Firefox 3.0.5 und Internet Explorer 7.0.6001.18000 getestet.

Gruß
Unitet20

-case closed-
Bitte warten ..
Ähnliche Inhalte
JavaScript
Formular nach ausfühlen mit Enter bestätigen
gelöst Frage von Thomas91JavaScript2 Kommentare

Guten Morgen, ich habe hier ein Authentifizierungsportal für unser Guest WLAN. Welches nach ausfühlen des Benutzernamens und Kennwort nicht ...

Windows 8
Enter Taste und PfeilTaste nach unten funktionieren anders als sie sollten
Frage von ColognepsychWindows 86 Kommentare

Die Pfeiltaste nach unten wirft immer eine "#" aus. Die Enter Taste, lässt den Cursor nicht zur nächsten Zeile ...

Notebook & Zubehör
Taste ersetzen - wie?
gelöst Frage von honeybeeNotebook & Zubehör6 Kommentare

Hallo, bei meinem Freund war an seiner Laptoptastatur die STRG-Taste abgebrochen. Der Laptop hat keine Garantie. Gibt es eine ...

Windows 10
Microsoft Konten blockieren Gruppenrichtlinien
gelöst Frage von markaurelWindows 107 Kommentare

Hallo zusammen! und bitte um euer Know-How. Ich bin gerate dabei Win10 (1607/Edu) für den Domaineneinsatz zu testen. (DC ...

Neue Wissensbeiträge
Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 1 TagBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 1 TagHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 1 TagMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 1 TagSicherheit1 Kommentar

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Heiß diskutierte Inhalte
Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...

Windows Server
Windows Store Apps
gelöst Frage von PeterleBWindows Server11 Kommentare

Gibt es einen Weg, auf Windows Server 2016 Windows Store Apps wie zum Beispiel die HP Smart App zu ...

Microsoft Office
Outlook Cache Mode Frage
Frage von GwaihirMicrosoft Office11 Kommentare

Hallo zusammen, bin gerade neu in der Firma und lerne hier einige neue Dinge kennen. Zum Beispiel, dass die ...

Microsoft
Erfahrungen mit Webcam over RDP gesucht
Frage von DerWoWussteMicrosoft10 Kommentare

Moin Kollegen. Bekanntlich kann man Webcams nur mit Drittanbietersoftware in RDP reinschleifen. Was nutzt Ihr dazu? Wie stabil funktioniert ...