Archiv verlassen und diese Seite im Standarddesign anzeigen : Tastenkombination mit Java Script unterdruecken
didi86
18.10.2004, 21:02:17
Hi,
gibt es eine Moeglichkeit mit Java Script Tastenkombinationen des Internet Explorers (Insbesondere die Backspace-Taste als Zurueck) zu unterdruecken???
mfg Chris
xabbuh
18.10.2004, 21:11:50
Ich vermute, du willst verhindern, dass der Benutzer Zeichen aus einem Eingabefeld löschen kann, richtig?
Wenn du Eingaben komplett unterbinden willst, kannst du die Eigenschaft readonly (http://de.selfhtml.org/html/formulare/eingabe.htm#nurlesen) nutzen.
Wenn du aber nur das Löschen von Zeichen unterbinden willst und dem Benutzer aber erlauben willst, zusätzliche Zeichen einzugebenen, müsstest du dir eine Funktion basteln, die bei jedem Drücken einer Taste (http://de.selfhtml.org/javascript/objekte/event.htm#key_code) deren Wert (http://de.selfhtml.org/javascript/objekte/event.htm#key_code) überprüft.
didi86
18.10.2004, 21:16:03
Ich will verhindern, dass der User mit der Backspace-Taste auf die vorherige Seite zurueckkommt...
mfg Chris
xabbuh
18.10.2004, 21:19:15
Du könntest mal versuchen onKeydown (http://de.selfhtml.org/javascript/sprache/eventhandler.htm#onkeydown) in das body-Element deiner HTML-Seite einzubauen und dann mit window.event.keyCode (http://de.selfhtml.org/javascript/objekte/event.htm#key_code) die letzte Eingabe überprüfen.
Wenn überhaupt, wird das Ganze aber vermutlich sowieso nur im Internet Explorer funktionieren.
Und welchen Vorteil hättest du davon?
didi86
18.10.2004, 21:34:16
kann man vielleicht die History des auktuellen IE-Fensters loeschen? DAnn kann der Browser nicht die vorhergehende Seite laden, weil es gar keine vorhergehende seite gibt...
xabbuh
18.10.2004, 21:37:02
Original geschrieben von didi86
kann man vielleicht die History des auktuellen IE-Fensters loeschen? DAnn kann der Browser nicht die vorhergehende Seite laden, weil es gar keine vorhergehende seite gibt...
Nein, das wird nicht gehen. Die einzige Möglichkeit, bei der du keine History hast, wäre, den Link in einem neuen Fenster zu öffnen. Aber warum willst du das machen?
didi86
18.10.2004, 21:44:38
Nein, das wird nicht gehen. Die einzige Möglichkeit, bei der du keine History hast, wäre, den Link in einem neuen Fenster zu öffnen. Aber warum willst du das machen?
weil ich dabei bin eine DHTML-Anwendung zu schreiben, bei der der User die Backspace-Taste braucht und ich nicht will, dass er dabei jedesmal aus der Anwendung gekickt wird...
xabbuh
18.10.2004, 21:48:43
Original geschrieben von didi86
weil ich dabei bin eine DHTML-Anwendung zu schreiben, bei der der User die Backspace-Taste braucht und ich nicht will, dass er dabei jedesmal aus der Anwendung gekickt wird...
Vielleicht solltest du dann lieber auf einer andere Taste als die Backspace-Taste zurückgreifen oder das ganze gleich sein lassen?!
didi86
18.10.2004, 21:51:20
Original geschrieben von xabbuh
Du könntest mal versuchen onKeydown (http://de.selfhtml.org/javascript/sprache/eventhandler.htm#onkeydown) in das body-Element deiner HTML-Seite einzubauen und dann mit window.event.keyCode (http://de.selfhtml.org/javascript/objekte/event.htm#key_code) die letzte Eingabe überprüfen.
Wenn überhaupt, wird das Ganze aber vermutlich sowieso nur im Internet Explorer funktionieren.
Und welchen Vorteil hättest du davon?
Habe diese Methode gerade ausprobiert. Ich kann damit zwar erkennen, ob die Backspace-Taste gedrueckt wurde, allerdings kann ich nicht verhindern, dass der Browser die vorherige Seite anzeigt...
xabbuh
18.10.2004, 21:53:52
Was soll das denn auch für eine Anwendung sein, bei der du die Backspace-Taste verbieten willst? Mal ganz abgesehen davon, dass diese Anwendung somit für alle Nutzer ohne JavaScript nicht benutzbar ist.
didi86
18.10.2004, 21:56:05
Vielleicht solltest du dann lieber auf einer andere Taste als die Backspace-Taste zurückgreifen
Ist in meinem Fall unmoeglich.
oder das ganze gleich sein lassen?!
Was fuer eine Programmiereinstellung: Wenn ich etwas nicht auf Anhieb hinkriege, lass ich es lieber gleich ganz sein.....
xabbuh
18.10.2004, 22:01:57
Original geschrieben von didi86
Was fuer eine Programmiereinstellung: Wenn ich etwas nicht auf Anhieb hinkriege, lass ich es lieber gleich ganz sein.....
Es geht ja nicht darum, etwas sein zu lassen, weil man es auf Anhieb nicht hinbekommt.
Aber wenn es nicht möglich oder auch nur bei sehr wenigen Benutzern möglich ist, dann machen solche Sachen nicht sehr viel Sinn.
Wenn du näher erläuterst, was du genau vorhast, hat vielleicht jemand noch eine andere Idee, wie du das Ganze angehen kannst.
Gruß Christian
tommylee
11.01.2006, 10:08:32
Es ist zwar schon ein fast ein Uhraltthread aber ich habe das selbe problem, drum meine frage.
Ich habe einen HTML Web-Wizard erstellt, mit dem bestimme Daten (die zuvor eingegeben wurden) mittels XML, an eine Filemaker Datenbank übergeben werden. Mein problem ist nun, dass wenn man auf der antwortseite des Filemakers (XML mit XSML) ist und die backspace taste drückt, ein zweiter datensatz erstellt wird. Zwangsläufig da die XML seite ja erneut aufgerufen wird. man hat somit einen doppelten Datensatz geschaffen. Um dies zu verhindern muss ich eben jene backspace-taste unterdrücken.
Ich habe zwar schon eine möglichkeit gefunden die Backspace-Taste auszulesen (sie hat den wert 8) aber dies funktioniert nur unter Netscape. der IE weigert sich schlicht auf diese taste zu reagieren. Weiteres Problem ist, dass man (unter Netscape) zwar die taste auslesen kann, dessen Funktion aber nicht unterbinden kann.
Zur den Relevanten Daten muss ich noch hinzufügen, dass es sich dabei um eine Reine INTRANET (kein WWW) Umgebung handelt. Die Seite wird an die Firmenstandarts (nur Internetexplorer, aktives Javascript) angepasst, wodurch ich mir um Browserkomplikationen/Einstellungen keine sorgenmachen muss.
Hoffe es kann mir wer einen tip geben!
Danke
tommylee
michi911
14.02.2006, 19:28:54
evtl. kannste mit der REPLACE() funktion was bewirken....
vBulletin® v3.8.3, Copyright ©2000-2013, Jelsoft Enterprises Ltd.