Pokud v přeskakování mezi jednotlivými inputy/selecty/checkboxy používáte především tabulátor, někdy Vás překvapí, když automaticky vybrané další pole je jiné, než to, jaké následuje v kódu.
Chování se prohlížeč od prohlížeče různí, proto neexistuje jednoduché vysvětlení, jak jdou za sebou inputy…
Máte-li ale zájem o vytvoření předem nadefinovaného pořadí inputů, je to zcela jednoduché. Navíc to bude fungovat všude, protože není potřeba nic jiného, než jen klasické HTML, dokonce i bez JavaScriptu si dnes vystačíme.
Pořadí inputů při přeskakování určuje vlastnost tabindex. Do kódu ji zanesete stejně jednoduše jako třeba value, nebo length.
<input type="text" name="jmeno" tabindex="1"><br>
Důležitá je zde zvýrazněná hodnota tabindex=“?“. Čísla uvádějte vždy v posloupnosti a vždy ve vzestupném pořadí, jak chcete mezi poli/inputy přeskakovat. Například zde
<form> Jméno (první vybrané pole): <input type="text" name="jmeno" tabindex="1"><br> Telefon (třetí vybrané pole): <input type="text" name="telefon" tabindex="3"><br> E-mail (druhé vybrané pole): <input type="text" name="email" tabindex="2"><br> </form>
Jsou inputy uvedeny v HTML v pořadí
- Jméno
- Telefon
Ale jelikož je u každého inputu uveden také tabindex, tak pořadí v HTML nemá žádný vliv. Podle tabindexu bude tedy přeskakování mezi inputy pomocí tabu následovné
- Jméno (tabindex=“1″, ačkoliv pořadí v HTML je 1.)
- E-mail (tabindex=“2″, ačkoliv pořadí v HTML je 3.)
- Telefon (tabindex=“3″, ačkoliv pořadí v HTML je 2.)
Jednoduché, že? 🙂