<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>Opera</title><link>http://relib.com/blogs/bazile/category/50.aspx</link><description>Браузер Opera</description><managingEditor>Василий Петрухин</managingEditor><dc:language>ru-RU</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>Василий Петрухин</dc:creator><title>Советы по написанию JavaScript кода от разработчиков Opera</title><link>http://relib.com/blogs/bazile/archive/2006/11/07/efficient_javascript_by_opera_community.aspx</link><pubDate>Tue, 07 Nov 2006 16:46:00 GMT</pubDate><guid>http://relib.com/blogs/bazile/archive/2006/11/07/efficient_javascript_by_opera_community.aspx</guid><wfw:comment>http://relib.com/blogs/bazile/comments/7223.aspx</wfw:comment><comments>http://relib.com/blogs/bazile/archive/2006/11/07/efficient_javascript_by_opera_community.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://relib.com/blogs/bazile/comments/commentRss/7223.aspx</wfw:commentRss><trackback:ping>http://relib.com/blogs/bazile/services/trackbacks/7223.aspx</trackback:ping><description>На сайте &lt;A href="http://dev.opera.com/"&gt;сообщества разработчиков для браузера Opera&lt;/A&gt; опубликована статья &lt;A href="http://dev.opera.com/articles/view/48/"&gt;Efficient JavaScript&lt;/A&gt; с кучей полезных советов.&amp;nbsp;Советую обязательно изучить.&lt;img src ="http://relib.com/blogs/bazile/aggbug/7223.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Василий Петрухин</dc:creator><title>Ошибка в Opera 9.01 при отправке формы с помощью JavaScript</title><link>http://relib.com/blogs/bazile/archive/2006/09/12/opera_bug_form_didnt_validate_in_submit.aspx</link><pubDate>Tue, 12 Sep 2006 20:31:00 GMT</pubDate><guid>http://relib.com/blogs/bazile/archive/2006/09/12/opera_bug_form_didnt_validate_in_submit.aspx</guid><wfw:comment>http://relib.com/blogs/bazile/comments/6266.aspx</wfw:comment><comments>http://relib.com/blogs/bazile/archive/2006/09/12/opera_bug_form_didnt_validate_in_submit.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://relib.com/blogs/bazile/comments/commentRss/6266.aspx</wfw:commentRss><trackback:ping>http://relib.com/blogs/bazile/services/trackbacks/6266.aspx</trackback:ping><description>&lt;P&gt;На днях столкнулся с ситуацией, когда браузер Opera 9.01 не отправлял форму при вызове метода submit() из JavaScript. Никаких сообщений об ошибке не выдавалось, но в консоли ошибок появлялось такое сообщение:&lt;/P&gt;&lt;PRE class=codeSample&gt;&lt;CODE&gt;JavaScript - http://localhost/test2.aspx
Event thread: click
Error:
Unhandled exception: [Object DOMException]
code: 12
message: SYNTAX_ERR - Form didn't validate in submit()
Backtrace:
  Line 1 of  script
    document.forms[0].username.value = "123456789";
document.forms[0].submit();
  At unknown location
    [statement source code not available]&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Из него было понятно только, то что ошибка происходит именно при отправке формы и что она как-то связана с DOM. Ошибка, ошибке рознь, но я хочу рассказать о ней так как ее исправление в моем случае потребовало изменения всего&amp;nbsp;одного символа в html коде. Обычно так просто ошибки не поддаются.&lt;/P&gt;
&lt;P&gt;Сама ошибка легко вопроизводится с помощью следующего кода:&lt;/P&gt;&lt;PRE class=codeSample&gt;&lt;CODE&gt;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;
&amp;lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&amp;gt;
&amp;lt;title&amp;gt;bug test&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
&amp;lt;form method="get" action="test2.aspx"&amp;gt;
&amp;lt;input type="text" name="username" size="7" maxlength="7" value="1"&amp;gt;
&amp;lt;input type="button" value="submit me"&lt;BR&gt;onclick="document.forms[0].username.value='123456789'; document.forms[0].submit()"&amp;gt;
&amp;lt;/form&amp;gt;
&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Причина ошибки кроется в максимальной длине поля username. Она составляет 7 символов, а скрипт присваивает значение длиной 9 символов, что и приводит к вышеописанной ошибке. Причем если&amp;nbsp;у полю username поставить value="123456789" и добавить обычный&amp;nbsp;submit, то форма отправляется. Решение проблемы, очевидно, в замене maxlength="7" на maxlength="9".&lt;/P&gt;
&lt;P&gt;Хочется отметить, что сообщение об ошибке очень плохо составлено и, что хуже, обычному пользователю остается только молча гадать почему страница не работает. Виноват, конечно, программист, но пользователю от этого не легче.&lt;/P&gt;&lt;img src ="http://relib.com/blogs/bazile/aggbug/6266.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>