STRG-V blockieren?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • STRG-V blockieren?

    Hallo Zusammen,

    ich Bewerte einen User nach der Menge seiner geschriebenen Wörter in einer Textarea. Natürlich will ich verhindern, das er einfach den Text klaut, und per Copy&Paste (STRG-V) in meine Formular setzt. Wie könnte ich das machen?

    Ciao.21

  • #2
    du kannst mal folgendes probieren:

    <html><head><title>Test</title>
    <script language="JavaScript">
    window.captureEvents(Event.KEYPRESS);
    window.onkeypress = Ausgabe;
    function Ausgabe(Ereignis)
    {
    alert("Du hast folgende Taste (Code) gedrückt: "+ Ereignis.which);
    window.captureEvents(Event.KEYPRESS);
    window.onkeypress = Ausgabe;
    }
    </script>
    </head><body>
    Druecken Sie irgendwelche Tasten!
    </body></html>

    damit kannst du allerdings nur beim Netscape den Event überwachen. Außerdem hat die STRG-Taste den Wert 0, genau wie Shift oder Tab.

    für den IE sollte es so aussehen:

    <script for=document event="onkeydown()" language="JScript">
    alert ("Du hast folgende Taste (Code) gedrückt: "+ event.keyCode)
    </script>

    Allerdings wieder das gleich, daß du für mehrere Tasten den Code 0 hast.

    Komplizierte Lösung: überwache immer, ob TastenCode 0 kommt und wenn ja, dann schau, ob danach ein v kommt. Gleichzeitig merke dir die Länge deines Eingabestrings -> wenn v als nächstes gedrückt (könnte ja auch Shift+v für V sein) und Stringlänge um mehr als 1 länger, dann wurde Paste benutzt. -> zwischengespeicherten Inhalt vor dem Paste-Event einfügen oder so.
    Vielleicht gibt's dafür ja ne richtige Funktion oder ne schönere und einfachere und v.a. sicherere Lösung, aber mir fällt sie gerade nicht ein :-(

    Kommentar


    • #3
      17!!!!!

      Du hast mir mehr geholfen als Du dachtest!

      Der Key.Code für STRG ist nicht 0, sondern 17. SHIFT hat 16, TAB hat 9....

      Also, sollte dann ja kein Problem mehr sein! ;-)
      DANKE!

      Ciao.21

      Kommentar


      • #4
        Nicht so schnell. Erstmal freut es mich, dir geholfen zu haben, aber vielleicht hast du es noch nicht unter Netscape getestet und da sind alle Sondertasten wie schon geschrieben die "0" -> Lösung hier:

        function Ausgabe(Ereignis)
        {
        if (Ereignis.which>0) alert("Sie haben die Taste mit dem Wert " + Ereignis.which + " gedrueckt");
        window.captureEvents(Event.KEYPRESS);
        window.onkeypress = Ausgabe;
        }

        -> wenn du STRG + v drückst, kommt kein Wert, da STRG ja Code 0 verursacht, während bei SHIFT + v wirklich der Wert vom V ausgegeben wird.

        JETZT ;-) müßte es klappen

        Kommentar


        • #5
          Hmmm, mir ist gerade aufgefallen, daß die Codes, die ausgegeben werden, völlig unterschiedlich sind, du brauchst also auf jeden Fall eine Unterscheidung -> bei IE ist v=86, während bei NTSC v=118
          verstehe ich zwar nicht, aber was soll's....

          Kommentar


          • #6
            Ich bin leider noch nicht dazu gekommen, das ganze unter NS zu testen. Werds heute nacht mal machen. Aber is schonmal gut, wenn ich wenigstens einen Ansatz hab...

            NETSCAPE SUCKS!

            Kommentar

            Lädt...
            X