HTML <Input/> "ANTI" copy&past

... komplette Frage anzeigen

3 Antworten

Es gibt nur eine Methode, und die ist ziemlich ekelig.

Deaktivieren per Javascript und den Submit-Button nur per Javascript anzeigen, damit hat der User verloren, wenn er kein Javascript hat.

Es könnte aber sein, dass das Deinen Besucherzahlen abträglich ist.

Naja, lirum larum, hier der Code:

<html>
<head>
<title>PatrickJumpens kleine JS-Demo</title>
<!-- jQuery einbinden nicht vergessen! -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
<!--
var ctrl_down = false;

$(document).ready(function(){

    // Rechtsklick auf inputfeldern deaktivieren
    $("input").bind("contextmenu",function(event){
        return false;
    });

    // Strg+C auf dem emailfeld deaktivieren (KeyCode 67)
    $("#email").keyup(function (event) {
    if(event.which == 17) ctrl_down=false;
    }).keydown(function (event) {
    if(event.which == 17) ctrl_down=true;
    if(event.which == 67 && ctrl_down == true) {
        alert('Bitte die Mailadresse nicht kopieren.')
        return false;
    }
    });

    // Strg+V auf dem emailkontrollfeld deaktivieren (KeyCode 86)
    $("#email_c").keyup(function (event) {
    if(event.which == 17) ctrl_down=false;
    }).keydown(function (event) {
    if(event.which == 17) ctrl_down=true;
    if(event.which == 86 && ctrl_down == true) {
        alert('Bitte die Mailadresse nicht einfuegen.');
        del_email_c();
        return false;
    }
    });

});

function del_email_c() {
    $("#email_c").val("");
}

//-->
</script>
</head>
<body>

Mailadresse: <input type="text" name="email" id="email" value="" /><br/>
Mailadresse Kopie: <input type="text" name="email_c" id="email_c" value="" />

</body>
</html>
Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von DeathPunch
14.10.2010, 10:57

Mit Firebug kann man den Button wieder einblenden bzw. sich einen generieren :) Es gibt keinen 100%igen Schutz, diese ganzen Techniken lassen sich umgehen.

0

Aus Usability Sicht würde ich das nicht tun. Wenn der Benutzer seine E-Mail kopieren will, solltest du ihn lassen (das tue ich z.B. auch, weil diese oft im Autocompleter drin ist und korrekt). Ist ja dann sein Problem, wenn diese falsch ist.

Zusätzlich schafft so eine Aktion vor allem Frust beim Benutzer. Wenn plötzlich meine Funktionen nicht gehen würden, wäre ich schneller von der Seite runter als du JavaScript sagen könntest. Im übrigen kannst du solch eine Funktion nur mit JavaScript realisieren und dieses lässt sich im Browser deaktivieren. Einen wirklich Wirkungsvollen Schutz gibt es also nicht wirklich.

Antwort bewerten Vielen Dank für Deine Bewertung

Ein Forum wo du Informationen zu HTML findest und auch zu deinem anliegen

http://www.html.de/

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?