Autor Zpráva
vlczak
Profil *
Mám JavaScript zaheslování přístupu na stránky. Problém je v tom, že po vyplnění hesla a stisknutí enteru se pole smaže. Jde mi o to, abych nemusel najíždět na tlačítko Odeslat.. Nevíte někdo, jak na to?
WertriK
Profil *
Podle me to tak normale nedela (ze ti to vymaze pole) prave naopak normalne kdyz das enter tak se ti to odesle (tak jak chces). Proto bych hledal chybu nekde v kodu u tebe.Treba nastaveni action bo tak neco.

Jinak zaheslovani pomoci JS ?!?
Takove zaheslovani jsem uz nekde na strance nasel, no cca 1 minutka a heslo jsem znal.
Pres JS to opravdu neni bezpecne.
Uz jen jednoduche PHP "nejde" prekonat :

<?
if ($heslo == "tajneHESLO") {

header ("Location: tajnastranka.htm");

} else {
echo "Spatne heslo";
}
?>
vlczak
Profil *
Mno, celej script +/- vypadá takhle.. za pass 0-5 jsou ještě kódy, ale to už není podstatný. Nepotřebuju to mít stopro nedostupný, páč na těch stránkách toho zrovna moc zajímavýho taky není, ale soukromí se má střežit, tak střežím.. Stačí, aby to ze zdrojáku nerozluštili "obyčejný" uživatelé netu..

<script>

var pass=new Array()
var t3=""
var lim=5
pass[0]=" "
pass[1]=" "
pass[2]=" "
pass[3]=" "
pass[4]=" "
pass[5]=" "

//configure extension to reflect the extension type of the target web page (ie: .htm or .html)
var extension=".html"
var enablelocking=0
var numletter="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVW XYZ"
var temp3=''
var cur=0


function max(which){
return (pass[Math.ceil(which)+(3&15)].substring(0,1))
}

function testit(input){
temp=numletter.indexOf(input)
var temp2=temp^parseInt(pass[phase1-1+(1|3)].substring(0,2))
temp2=numletter.substring(temp2,temp2+1)
return (temp2)
}


function submitentry(){
t3=''
verification=document.password1.password2.value
phase1=Math.ceil(Math.random())-6+(2<<2)
var indicate=true
for (i=(1&2);i<window.max(Math.LOG10E);i++)
t3+=testit(verification.charAt(i))
for (i=(1&2);i<lim;i++){
if (t3.charAt(i)!=pass[phase1+Math.round(Math.sin(Math.PI/2)-1)].charAt(i ))
indicate=false
}
if (verification.length!=window.max(Math.LOG10E))
indicate=false
if (indicate)
window.location=verification+extension
else
alert("Invalid password. Please try again")
}
</script>
WertriK
Profil *
Ehm, jsem se spatne vyjadril v JS chyba del meho nazoru nebude(doufam, ja totiz JS moc neumim) ale videl bych to na chybu ve folmulari, treba pokud mas policku a nemas u nej <form> tak se ti obsah smazne. Proto bych to udelal takto :

<form onSubmit="return login();return false;"> // nejsem si jit tim return false
<input type="password">
<input type="submit">
</form>

ta funkce login();

by obsahovala ten tvuj kod a podle rozhodnuti (heslo je spravne nebo spatne) bych pomoc window.location.href presmeroval uzivatele tak kam potrebuji

nezapomen ze tam nekdo musi byt to return false aby se ti ten formular neodeslal
Fred
Profil
Asi tak. Pokud je focus uvnitř formuláře a ve formuláři je input typu submit posílá se enterem automaticky.
vlczak
Profil *
Tak jsem místo "button" vložil "submit" a už to běhá.. teď ještě udělat, aby mi hned po načtení stránky ve formu blikal kurzor..

<input type="button" value="Odeslat" onClick="submitentry()">
Toto téma je uzamčeno. Odpověď nelze zaslat.

0