J'ai deux formulaires sur ma page, et lorsque l'accent est mis sur l'un des formulaires, je veux que l'utilisateur puisse uniquement parcourir le formulaire en cours.Enveloppe ordre de tabulation avec un div (jQuery)
Heres ce que le html ressemble:
<html>
<head>
<script type="text/javascript">
$(document).ready(function(){
$('form').each(function() {
obj = jQuery(this);
obj.find('input:last').keydown(function(e) {
if (e.keyCode == 9 && !e.shiftKey) {
e.preventDefault();
obj.find('input:first').focus();
}
})
obj.find('input:first').keydown(function(e) {
if (e.keyCode == 9 && e.shiftKey) {
e.preventDefault();
obj.find('input:last').focus();
}
})
})
})
</script>
<body>
<form>
<input id="1" />
<input id="2" />
</form>
<form>
<input id="3" />
<input id="4" />
<form>
</body>
</html>
Lorsque vous appuyez sur l'onglet, à partir du ID 1, l'ordre de tabulation ressemble à ceci:
1 <tab> 2 <tab> 3 <tab> 4 <tab> 3 <tab> 4 <tab> ...
En appuyant sur Maj + Tab à partir de ID 2:
2 <shift> + <tab> 1 <shift> + <tab> 4 <shift> + <tab> 3 <shift> + <tab> 4 <shift> + <tab> 3 ...
Ce que je voudrais voir se produire, lorsque sur ID 1:
1 <tab> 2 <tab> 1<tab> 2 <tab> ...
Et en arrière:
1 <shift> + <tab> 2 <shift> + <tab> 1 ...
Toutes les idées pourquoi l'ordre de tabulation enveloppe la dernière forme, mais pas sur le premier?
Votre ''
. Je doute que ce soit le problème, mais cela peut aider. –