S. O. S: Hogyan lehet megoldani, hogy ha az entert lenyomom, futtatson egy scriptet?
<form name = "belépés">
Felhasználónév:<br>
<input type ="text" name = "Felhasználónév"><br>
Jelszó:<br>
<input type = "password" name = "Jelszó"><br>
<br>
<input type = "button" value = "Belépés" onclick="login()">
</form>
Ide szeretném. ha lenyomom az entert, ugyan azt csinálja, mintha megnyomnám a belépést.
Soha ne használj ékezetes neveket, változókat!!!
Bár ma már elég rugralmasak program nyelvek,
de csak egy valahol van karakter kódolási hiba,
akár csak a kliens oldalon...
Már is értelmezhetetlen lesz a program számára.
HTML -ben az atributumok neve és value értéke közt van az egyenlőség jel,
viszont ezt egybe írd pl. <input type="text" />
na hagyj szóközöket, mint pl. itt: <input type = "text" />
Egyrészt nehéz egybe látni, mi - mihez kapcsolódik.
másrészt, régebbi böngészőknél (amit ma már szerencsére nagyon-nagyon kevesen használnak) syntaktikai hibát jelent.
És végül amit kérdeztél!
Kell a formba egy Submit gomb, nem "button" hanem "submit",
ezzel "küldi" el a form tartalmát, illetve ekkor működik az enter -el történő form küldés is.
A form elküldésekor az "onsubmit" attribútumot futtatja le ha van, és abban pl. az ellenőrzés sikeressége kor return true vagy fals -al engedni, vagy vissza tartani a formot.
Most így néz ki a formom:
<form name="loginForm" onsubmit="login();">
Felhasználónév:<br/>
<input type="text" name="user" /><br />
Jelszó:<br />
<input type="password" name="password" /><br />
<br />
<input type="submit" value="Belépés" onclick="login()" />
</form>
a script:
function login() {
var x = document.loginForm.username.value;
var y =document.loginForm.password.value;
if (x=="admin" && y=="admin") location.href="kezdolap.html"
else alert ("Hibás adatok!")
Mi a baj? (a head-ben a scriptnyelv be van állítva és a script meg van keresve)((tudom hogy egyáltalán nem biztonságos ez a rendszer, de csak a nép elriasztására van))
<form name="loginForm" onsubmit="return login();">
Felhasználónév:<br/>
<input type="text" name="username" /><br />
Jelszó:<br />
<input type="password" name="password" /><br />
<br />
<input type="submit" value="Belépés" />
</form>
<script>
function login() {
var x = document.loginForm.username.value;
var y = document.loginForm.password.value;
if (x=="admin" && y=="admin") {
/* location.href="kezdolap.html"; */
alert("Belépés, átirányítás: 'kezdolap.html'");
} else {
alert ("Hibás adatok!");
}
return false;
}
</script>
első hiba a form onsubmit -nál van, nincs return része.
második hiba, a felhasználónév input mező nevénél, eltér a JS -ben lekértél.
illetve a submit gombra nem kell onclick esemény.
És a leg fontosabb!!!
JS -el nem ellenőrizünk közvetlen felhasználói belépési adatokat!
Az olyan mint ha nem is lenne!!!
(Ennyi erővel egyből tovább is irányíthatod, bárki betud lépni!)
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!