Enter key, ontwijkt onclick event (pw)
Als je op de button klikt checkt hij het wachtwoord netjes of het juist is of niet maar zodra ik op Enter druk doet hij dat niet en word je doorverwezen naar de volgende pagina wat niet de bedoeling is.
Hoe kan ik dit oplossen dat hij ook bij ''Enter'' kijkt of het wachtwoord juist is.
(ps. ik weet dat het een simpele beveiliging is maar het is dan ook maar voor een spelletje)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<!DOCTYPE html>
<head> </head>
<body>
<SCRIPT LANGUAGE="JavaScript">
function pwcheck() {
var passwd = document.forms['nvt'].pass.value;
if(passwd=="12345"){
window.open ('.php','_self',false)
}
else{
alert('Password wrong');
}
}
</SCRIPT>
<div>
<form action="http:// .php" id="nvt" method="post">
<input type="hidden" name="username" value="test">
<label for="h1"></label>
<input type="textarea" id="pass" placeholder="Enter Secret Code" style="font-size:150%;"/>
<br />
<center>
<input name="h" id=radiohide type="radio" value="2" checked>
<input type="button" onClick="pwcheck()" class="submit h9" type="submit" value=" Nu Kopen! "></center>
</form>
</div>
</body>
</html>
<head> </head>
<body>
<SCRIPT LANGUAGE="JavaScript">
function pwcheck() {
var passwd = document.forms['nvt'].pass.value;
if(passwd=="12345"){
window.open ('.php','_self',false)
}
else{
alert('Password wrong');
}
}
</SCRIPT>
<div>
<form action="http:// .php" id="nvt" method="post">
<input type="hidden" name="username" value="test">
<label for="h1"></label>
<input type="textarea" id="pass" placeholder="Enter Secret Code" style="font-size:150%;"/>
<br />
<center>
<input name="h" id=radiohide type="radio" value="2" checked>
<input type="button" onClick="pwcheck()" class="submit h9" type="submit" value=" Nu Kopen! "></center>
</form>
</div>
</body>
</html>
onsubmit.
Gebruik Gewijzigd op 01/11/2020 08:53:42 door - SanThe -
Want dat is wat er gebeurd: door de "enter" wordt het form gesubmit naar de pagina in de "action" (en die ".php" die daar staat zal wel dezelfde ".php" uit de pwcheck() functie zijn). Dat is dat "doorverwezen naar de volgende pagina" (zonder "controle") waar je het over hebt. Enkel als je op de button klikt wordt je pwcheck() uitgevoerd.
Met die window.open() in de pwcheck() heb je helemaal geen form action nodig, en dus ook geen form. Als je die weg haalt ("<form ...>" en "</form>") is je probleem volgens mij ook opgelost.
Overigens definieer je nu 2x "type" in de button ("button" en "submit") - geen idee wat het nou precies is/wordt (kan misschien nog per browser verschillen).