Opera. Обработка данных форм
Изначально делал валидацию формы на 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. Как его можно исползовать?
Есть мнение, что опера плюёт на комментарии вокруг <script>. Попробуй физически удалить эту строку со страницы.
И кстати, если второе поле заполняется в соотвествии с регэкспом, то поле проходит проверку.
Получается, что в Опере есть собственный обработчик, котрый по крайней мере понимает атирбуты required и pattern.
Немного поразмыслив, решил поискать какие-нибудь js-файлы в каталогах Оперы. Нашел всего один:
[Каталог профиля]\Application Data\Opera\Opera\profile\browser.js
Это похоже на то, что нужно.
По линку в комментах скрипта нашел немного инфы: Browser JavaScript.
И все бы замечательно, но в настройках Оперы у меня отключен этот самый "Browser JavaScript".
Похоже, что официальная документация немного не соответсвует реализации.:)
Надеюсь, что тема окажется полезной для тех, кто сталкивался с подобной проблемой.
Если есть еще что-нибудь интересное по теме - делитесь.