Использование генератора форм ruby on rails для создания множества полей ввода.
Вы можете использовать табуляцию в форме в Chrome/Firefox, но в IE9 табуляция не работает.
Итак, я провел небольшое исследование и решил установить tabIndex
входных данных следующим образом:
<script>
$(document).ready(function(){
var isIE = /*@cc_on!@*/false;
if(isIE){
var inputs = document.getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++){
inputs[i].setAttribute("tabIndex", ""+i+"");
}
}
})
</script>
Во всяком случае, довольно быстрое исправление, я проверил его, и у inputs
теперь есть tabIndex
, но они все еще не правильно переключаются. Почему это не работает? И есть ли у кого-нибудь лучшее решение?
Редактировать. Сломанная вкладка относится к следующему поведению:
Я нажимаю на вкладку первого поля ввода, и ввод теряет фокус, но следующий ввод не получает фокус. Если я снова нажму вкладку, то снова сосредоточусь на первом вводе. Это повторяется в бесконечном цикле.
Также я знаю, что text-areas
и selects
не являются входными данными, все, что я пытаюсь сделать на данный момент, это просто заставить работать какие-то функции табуляции. Даже если он пропускает эти элементы.
Ссылка на сайт: прямо здесь откройте в IE9, чтобы увидеть неправильное поведение вкладок. Ссылка на код плагина проверки: здесь
input
(например,select
иtextarea
). - person Halcyon   schedule 03.01.2013tabIndex
? - person Halcyon   schedule 03.01.2013tabIndex
любых элементов. Они скрытыinputs
в верхней части страницы, но у них также естьtabIndex
, если вы нажмете на первый видимыйinput
, у него будетtabIndex
из3
, поэтому, когда я нажимаю вкладку, он должен просто перейти к следующему индексу, верно? Насколько я могу судить, он даже не фокусируется на скрытомinputs
! - person Ryan   schedule 03.01.2013=]
- person Fabrício Matté   schedule 03.01.2013setAttribute("tabIndex", i);
вместо объединения переменнойi
с двумя пустыми строками. - person David says reinstate Monica   schedule 03.01.2013msie
. jQuery использует некоторые из них, например. настройте переменные$.browser
, но большая часть сниффинга браузера, похоже, исходит от плагина. Я бы предложил удалить плагин проверки формы и проверить, как работает вкладка в IE, если это не решит проблему, попробуйте то же самое отключить другие плагины, пока не найдете виновника и не опубликуете его код, чтобы мы могли его просмотреть. - person Fabrício Matté   schedule 03.01.2013=]
- person Fabrício Matté   schedule 04.01.2013