[ nezki @ 08.02.2010. 13:19 ] @
Treba da za input text polje zabranim da moze u njega da se u njega pastuje(nalepi) sadrzaj na bilo koji nacin, tj da ne moze desni klik + paste ili ctr + v.
I da to radi u svim browzerima.
Ja sam nesto nasao ovde ali ne radi:

Code:
<script language="JavaScript"> 
var isNS = (navigator.appName == "Netscape") ? 1 : 0;

function mousehandler(e){
  var myevent = (isNS) ? e : event;
  var eventbutton = (isNS) ? myevent.which : myevent.button;
  if((eventbutton==2)||(eventbutton==3)) return false;
}

function keyhandler(e) {
  var myevent = (isNS) ? e : window.event;
  if (myevent.keyCode==96)
  return false;
}
</script>

<input type="text" value="" onmousedown="mousehandler(Event.MOUSEDOWN);" onkeypress="keyhandler(Event.KEYPRESS);" />


Kod stavljajte unutar tag-ova za kod.

[Ovu poruku je menjao Nikola Poša dana 08.02.2010. u 15:37 GMT+1]
[ nezki @ 09.02.2010. 18:09 ] @
Da li bar neko zna kako da zabranim desni klik misa u tom polju i dugme control?
[ Igor Gajic @ 09.02.2010. 19:27 ] @
Code (javascript):

<html>
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript">
  // Load jQuery
  google.load("jquery", "1.4.1");
</script>
<script type="text/javascript">
$(document).ready(function(){
     $(document)[0].oncontextmenu = function() {return false;}
     $('#test').bind('mousedown', function(e){
     if(e.button == 2) return false;
     });
     
     $('#test').bind('keydown', function(event){
     if(event.ctrlKey) {event.preventDefault();return false;}
     });
});
</script>
<body>
<input id="test" type="text" value="10" />
<input type="submit" />
</body>
</html>
 



[Ovu poruku je menjao misk0 dana 12.02.2010. u 01:59 GMT+1]
[ nezki @ 09.02.2010. 19:39 ] @
Hvala. ali ne mogu da koristim jquery treba mi bas funkcija da ja napravim
[ nezki @ 11.02.2010. 13:21 ] @
Hvala svima na "nesebicnoj" pomoci, izgleda da ostaje ona stara "dok se sam ne namucis nema resenja" :-)

Ako neko bude imao problem kao ovaj resenje je skroz jednostavno, samo stavite onpaste="return false;" i to je to:
Code:

<input type="text" value="" onpaste="return false;" />


A ako slucajno ne bude negde radilo ove funkcije ce vam resiti problem:
Code:

    function noCopyMouse(e) {
        var isRight = (e.button) ? (e.button == 2) : (e.which == 3);
        if(isRight) {
            alert('You are prompted to type this twice for a reason!');
            return false;
        }
        return true;
    }

    function noCopyKey(e) {
        var forbiddenKeys = new Array('v', 'x', 'c');
        var keyCode = (e.keyCode) ? e.keyCode : e.which;
        var isCtrl = false;
    
        if(window.event)
            isCtrl = e.ctrlKey
        else
            isCtrl = (window.Event) ? ((e.modifiers & Event.CTRL_MASK) == Event.CTRL_MASK) : false;
        
        //alert(e.ctrlKey);

        if(isCtrl) {
            if('v' == String.fromCharCode(keyCode).toLowerCase()) {
                alert('You are prompted to type this twice for a reason!');
                return false;
            }    
        }
        return true;
    }

<input type="text" value="" onmousedown="return noCopyMouse(event);" onkeydown="return noCopyKey(event);" />


Eto to je to.
Jos jednom hvala svima.

[ Igor Gajic @ 11.02.2010. 13:26 ] @
[sarcasm]
Nema na cemu !
[/sarcasm]
[ w3bl0rd @ 12.02.2010. 13:45 ] @
i gdje je sad taj kod :D možeš postaviti nekamo online, mislim da znam kako ga zaobići :D, ps ne mislim na gašenje javascripta
[ Zmaj @ 13.02.2010. 02:27 ] @
Zar atribut readonly na input poljima nije isto sto i zabrana paste, tj ti imas neku vrednost u input polju i zelis da zabranis da se menja. Postoji atribut readonly koji ce da ti zabrani upis u to polje.

Druga nacin da resis taj problem, je da ako ti takvo polje treba, da ga postavis kao hidden, dok ces stvarnu vrednost ispisati u nekom div-u.

Obrati paznju na bezbednost ovakve forme, jer postoji mogucnost da ti posalje vrednosti bez da poseti tvoju stranu, ponarocito ako zna vrednosti koje se salju.
[ nezki @ 13.02.2010. 10:04 ] @
Hvala. Meni je ovo onpaste=return false, resilo problem.
To mi je dovoljno.