В firefox не отрабатывает событие.
Помогите пожалуйста исправить ошибку, в chrome нормально работает, а в firefox нет. (Смысл такой, что при нажатии на ентер идет переход на следующее поле.)
<form method="post" action="admin.php" enctype="multipart/form-data" id="objetcform" onkeydown=" with (window.event) if (keyCode == 13) { fn = function (elements, start) { for (var i=start; i < elements.length; i++) { var element = elements[i] with (element) if (tagName == \'INPUT\' || tagName == \'SELECT\' || tagName == \'TEXTAREA\') { focus(); break; } } return i; } for (var i=0; i < elements.length; i++) { if (elements[i] == srcElement) { break; } } if (fn(elements,i+1) == elements.length) fn(elements,0) } " > |
Вытащи код из атрибута, избавься от with() блока , научись вставлять форматированный код в свой пост и приходи к нам снова ;)
|
Пришлось выкинуть это дело, написал в справке чтоб Tab давили (Shift+Tab назад), потому что перейти с текстарии все равно нельзя, с файла нельзя, со списка нельзя - лажа, короче, а не екзель.
Или у вас екзель? |
Нашел, цитировать не могу, там сразу было все проиндексировано у меня.
Вообще примерно так for(var i=0; i<form.elements.length; i++) { if(event.target.isEqualNode(form.elements[i]) && typeof form.elements[i+1]!=='undefined') { form.elements[i+1].focus(); break; } } Плюс еще несколько && на всякие неадекватные поля. |
Я так понимаю что with не очень хорошо использовать. а как правильно избавиться от with (window.event), потому как firefox на это и ругается?
|
В Firefox вообще нет window.event. Его и не должно быть по спецификации. Это выдумка IE, а хром просто ради совместимости поддерживает такое.
Внутри inline-обработчика в любом браузере доступен объект event. |
Спасибо, Вопрос закрыт.
|
В приведенном тобою коде нет селекта. Нет и фокуса. Вставляй код полностью, или используй что-то вроде этого http://jsfiddle.net/.
|
Часовой пояс GMT +3, время: 14:33. |