Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Opera. Обработка данных форм

9.4K
17 сентября 2009 года
AIGrifon
165 / / 13.11.2007
Столкнулся с интересной особенностью, инфы по которой не могу найти.

Изначально делал валидацию формы на js. Но даже без подключенного скрипта (строка закомментирована) в Опере происходит что-то вроде анализа данных.

Итак, имеется HTML-код:

[highlight=xml]
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ru" xml:lang="ru">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Верификация формы</title>
<link rel="stylesheet" type="text/css" href="style.css" media="all" />
<!--<script src="validate.js"></script>-->
</head>
<body>
<form>
<p>
Имя: <input type="text" name="name" required="required" />
</p>
<p>
Электронная почта: <input type="text" name="email" pattern="^\s*\w+@\w+.\w+\s*$" />
</p>
<p>
Не проверяется: <input type="text"/>
</p>
<p>
<input type="submit" />
</p>
</form>
</body>
</html>
[/highlight]

Если первое поле не заполнено, то при нажатии кнопки в опере рядом с полем показывается всплывающая подсказка, в которой говорится, что поле нужно заполнить.

Если же первое поле заполнено и во второе введен любой набор символов, принажатии кнопки появляется другая подсказка с сообщением: "Формат <введенные символы> не соответствует требуемому страницей формату".

Браузер: Opera 9.64. В других браузерах такого не происходит.

В связи с этим вопросы:
1. Что это за механизм в Опере?
2. Как его можно исползовать?
366
17 сентября 2009 года
int
668 / / 30.03.2005
Есть мнение, что опера плюёт на комментарии вокруг <script>. Попробуй физически удалить эту строку со страницы.
9.4K
18 сентября 2009 года
AIGrifon
165 / / 13.11.2007
Убрал, но поведение не изменилось.
И кстати, если второе поле заполняется в соотвествии с регэкспом, то поле проходит проверку.

Получается, что в Опере есть собственный обработчик, котрый по крайней мере понимает атирбуты required и pattern.

Немного поразмыслив, решил поискать какие-нибудь js-файлы в каталогах Оперы. Нашел всего один:

[Каталог профиля]\Application Data\Opera\Opera\profile\browser.js

Это похоже на то, что нужно.

По линку в комментах скрипта нашел немного инфы: Browser JavaScript.
И все бы замечательно, но в настройках Оперы у меня отключен этот самый "Browser JavaScript".
Похоже, что официальная документация немного не соответсвует реализации.:)

Надеюсь, что тема окажется полезной для тех, кто сталкивался с подобной проблемой.
Если есть еще что-нибудь интересное по теме - делитесь.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог