Diskuze: Symulace tlačítka tab pomocí enteru
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 5 zpráv z 5.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Zkus něco takového :
<html>
<body>
<input type="text" id="a">
<input type="text" id="b">
<input type="text" id="c">
<script>
window.onload=function()
{
var inputy = document.getElementsByTagName("input");
var aktivni;
function spust(event)
{
aktivni=this;
if (event.keyCode==13)
{
var arr = Array.prototype.slice.call(inputy);
let pozice=arr.indexOf(aktivni);
inputy[pozice+1].focus();
}
}
for (x in inputy)
{
inputy[x].onkeydown=spust;
inputy[x].onfocus=function()
{
aktivni=this;
}
}
}
</script>
</body>
</html>
Jo a za tu "Symulaci" bych ti dal nejraději ban
A jen tak malý detail chybí tam
<!DOCTYPE HTML>
Enter slouzi jako odesilaci tlacitko formulare.
Je mozne zmenit chovani html, ale nedoporucuji.
1. Musel bys zakazas formulari odesilani pres enter. Na to by stacilo mozna
sledovat onkeypress nebo onkeydown nebo onsubmit
<form onkeypress="neco proved">
<form onsubmit="return myValidate();">
A nebo by slo misto tlacitka type=submit pouzit button
<input type=submit value=odeslat>
<input type=button value=odeslat>
2. A pak musis na kazdem inputu sledovat onkeypress / down a kdyz je klavesa
enter, tak presunout na dalsi input.
Blize to popisuje John. Ale na event.keyCode bych nespolehal. Kazdy browser si
klavesy resi trochu jinak. Radeji to dej do googlu
google = crossbrowser event enter keypress
'event.keyCode==13' - 13 je klavesa (CR) enter, viz ascii tabulka https://theasciicode.com.ar/…code-13.html
Zobrazeno 5 zpráv z 5.