![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
Knuckles |
|
|||
![]() Новичок Профиль Группа: Awaiting Authorisation Сообщений: 33 Регистрация: 8.3.2006 Репутация: нет Всего: 2 |
Всем привет.
Мне как кандидату на работу дали тестовое задание. Звучит так: Есть форма с набором инпутов, которые необходимо проверить перед отправкой, некоторые поля просто должны быть непустыми, а некоторые должны содержать email. ... Особенности реализации: Обработчик события должен должен быть один на всю форму. При создании функционала следует придерживаться "безопасного javascript" - сама html страница не должна содержать инлайнового javascript. Я не совсем понял, что такое "безопасный javascript". Даже если скрипт находится в отдельном файле, в самом html должны быть привязки событий элементов ввода к функциям проверки, которые сами вообще-то являются скриптами. То есть если я пишу <input type="text" onkeypress="check()">, то значение атрибута onkeypress выполняется как скрипт. Уточнять у работодателя не хочется, чтобы не показаться полным нубом, да и времени нет (хотелось бы сделать задание сегодня). Гугл на такой общий запрос дает конечно же не то, что нужно. Подскажите, что имелось ввиду. Заранее спасибо ![]() |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 15 Всего: 315 |
||||
|
||||
Knuckles |
|
|||
![]() Новичок Профиль Группа: Awaiting Authorisation Сообщений: 33 Регистрация: 8.3.2006 Репутация: нет Всего: 2 |
||||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 10 Всего: 260 |
Knuckles, приходит в голову только добавка обраобтчиков через addEventListener/attachEvent. но если код "привязывания" обработчика к форме будет находиться в скрипте, подключенном через <script src="...">, то как определить, что тело уже загружено? можно, в принципе, поставить setInterval, чтоб проверяло: если в DOM-дереве появился элемент с заранее известным id(форма), то цеплять обработчик. если не появился - ждать дальше. А может, скрипт в head'e выполнится только после загрузки страницы... я не уверен, надо проверять.
|
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 15 Всего: 315 |
а фиг его знает, может это сильно проффессионально заданный вопрос, но для меня inline - это расположение элементов в строчку. никогда с js не связывал по-моему, надо просто написать нормальный простой обработчик, затем может пропустить через некий оптимизатор, дабы усложнить читаемость кода и засунуть в отдельный файл. потом можно накидать обманок (но, имхо, это уже и есть нубство) далле следует рассказать работодателю, что мол, javascript на 100% безопасным не сделаешь, и по любому решающую проверку нужно делать на сервере, а js использовать только в качестве предупредительной системы, чтобы обычный пользователь чего-нибудь не забыл |
|||
|
||||
Knuckles |
|
|||
![]() Новичок Профиль Группа: Awaiting Authorisation Сообщений: 33 Регистрация: 8.3.2006 Репутация: нет Всего: 2 |
skyboy, да я тоже думал над этим. В принципе можно повесить функцию привязки обработчиков на события DOMContentLoaded (для Mozilla), onload с аттрибутом defer (для IE) и без defer для остальных. В общем, я надеюсь, это именно то, что от меня ожидается
![]() Добавлено через 6 минут и 42 секунды bars80080, насколько я понимаю, inline javascript это встраивание скрипта прямо в код html. Считается дурным тоном по некоторым причинам. В любом случае, всем спасибо за мысли и предложения. |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 10 Всего: 260 |
в любом случае, сильно упрощает отладку. а вопросы безопасности решать на стороне клиента - вообще странно. на стороне клиента могут быть механизмы, для упрощения работы пользователя, да. но шифровать валидацию формы и игнорировать проверку на стоорне сервера - как-то по-детски. |
|||
|
||||
Knuckles |
|
|||
![]() Новичок Профиль Группа: Awaiting Authorisation Сообщений: 33 Регистрация: 8.3.2006 Репутация: нет Всего: 2 |
Никто и не спорит. Проверка ввода на стороне пользователя снижает нагрузку на сервер при частом вводе неверных данных. При количестве пользователей в пару десятков тысач это заметно. Заодно клиенту не нужно ждать ответа сервера с валидацией и перезагружать страницу. Проверка на сервере делается в любом случае. |
|||
|
||||
nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: нет Всего: 43 |
[humour]
Безопасный JS - это когда он используется нен в браузере IE [/humour] |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 15 Всего: 315 |
||||
|
||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |