<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>В лабиринте извилин &#187; плагин</title>
	<atom:link href="http://www.charnad.com/blog/tag/plagin/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.charnad.com</link>
	<description>Блог-центр им. CharnaD</description>
	<lastBuildDate>Wed, 18 Jan 2012 14:52:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Symfony: плагин sfPropelToggler 1.0.0b</title>
		<link>http://www.charnad.com/blog/symfony-plagin-sfpropeltoggler-100b/</link>
		<comments>http://www.charnad.com/blog/symfony-plagin-sfpropeltoggler-100b/#comments</comments>
		<pubDate>Sat, 16 May 2009 11:58:36 +0000</pubDate>
		<dc:creator>CharnaD</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[sfPropelToggler]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[togglers]]></category>
		<category><![CDATA[переключатели]]></category>
		<category><![CDATA[плагин]]></category>

		<guid isPermaLink="false">http://www.charnad.com/?p=511</guid>
		<description><![CDATA[Не так давно я писал про тогглеры (переключатели) в Symfony. Вчера я поработал над ними и существенно упростил их принцип работы, теперь они доступны в качестве плагина. Сразу же дам ссылку, вы можете их скачать в виде PEAR package и просто zip-архив. Дальше я расскажу как этим плагином пользоваться. Вообще, по правилам PEAR все инструкции [...]]]></description>
			<content:encoded><![CDATA[<p><img class="oppic" src="http://www.charnad.com/blog/wp-content/uploads/pictures/symfony_logo.gif" alt=""/>Не так давно я писал про <a href="http://www.charnad.com/blog/symfony-pereklyuchateli/">тогглеры (переключатели) в Symfony</a>. Вчера я поработал над ними и существенно упростил их принцип работы, теперь они доступны в качестве плагина. Сразу же дам ссылку, вы можете их скачать в виде <a href="http://www.charnad.com/files/sfpropeltoggler/sfPropelTogglerPlugin-1.0.0b.tgz">PEAR package</a> и просто <a href="http://www.charnad.com/files/sfpropeltoggler/sfPropelTogglerPlugin-1.0.0b.zip">zip-архив</a>. Дальше я расскажу как этим плагином пользоваться.<span id="more-511"></span></p>
<p>Вообще, по правилам PEAR все инструкции написаны в README. Но там по-английски. А тут я приведу русскую инструкцию. Итак.<br />
1. Надо или установить плагин, как PEAR пакет, или распаковать архив в папку plugins. Папка с плагином должна называться sfPropelTogglerPlugin. После этого вызовите команду symfony 'plugin:publish-assets' чтобы картинки из плагина скопировались в папку web/sfPropelTogglerPlugin. Если ничего не скопировалось - проверьте название папки плагина.<br />
2. В settings.yml вашего приложения впишите в пункт enabled_modules: [default, sfPropelToggler]. Если вы этого не сделаете - будет выскакивать ошибка о том, что модуль не активирован.<br />
3. В том файле, где будете подключать тогглер напишите</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">use_helper<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Toggler'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>4. Собственно сам переключатель может быть вставлен 2мя способами. Первый:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">echo</span> toggler<span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'table'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'table_name'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'field'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'field_name'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'id'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$item</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getId</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'state'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$item</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getState</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Где table -имя таблицы, field - поле, id - первичный ключ записи, а state - текущее состояние переключателя.<br />
Второй способ через объект:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">echo</span> object_toggler<span style="color: #009900;">&#40;</span><span style="color: #000088;">$object</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'field_name'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Где object - объект Пропела, а field_name - поле, которе будем переключать.
</p>
<p>На этом этапе у вас все должно заработать. Если же нет - спрашивайте в комментариях.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.charnad.com/blog/symfony-plagin-sfpropeltoggler-100b/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Обзор SimpleModal 1.2.2</title>
		<link>http://www.charnad.com/blog/obzor-simplemodal-122/</link>
		<comments>http://www.charnad.com/blog/obzor-simplemodal-122/#comments</comments>
		<pubDate>Sat, 20 Dec 2008 17:47:42 +0000</pubDate>
		<dc:creator>CharnaD</dc:creator>
				<category><![CDATA[JS]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[simplemodal]]></category>
		<category><![CDATA[плагин]]></category>

		<guid isPermaLink="false">http://www.charnad.com/?p=258</guid>
		<description><![CDATA[Ранее я уже писал о хорошем и простом плагине для создания модальных окошек на jQuery. Эта запись стала довольно популярной и многие люди находят ее в поисковиках. С тех пор вышла уже новая версия jQuery SimpleModal 1.2.2. Я списывался с автором Эриком Мартином и он попросил меня проверить, все ли исправлено. Давайте этим и займемся. [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-259" title="modal_logo" src="http://www.charnad.com/blog/wp-content/uploads/pictures/simplemodal/modal_logo.png" alt="modal_logo"/>Ранее я уже писал о хорошем и простом плагине для создания <a href="http://www.charnad.com/blog/prostoe-modalnoe-okoshko-na-jquery/">модальных окошек на jQuery</a>. Эта запись стала довольно популярной и многие люди находят ее в поисковиках. С тех пор вышла уже новая версия jQuery SimpleModal 1.2.2. Я списывался с автором Эриком Мартином и он попросил меня проверить, все ли исправлено. Давайте этим и займемся.</p>
<p><span id="more-258"></span></p>
<h4>Fail #1</h4>
<p>Первое, что мы видим - отсутствие обратной совместимости =(.  То есть, если в старые проекты мы скопируем новую библиотеку, то начнутся проблемы. Во-первых мы не увидим наши стили. Эрик переименовал дефолтные id у элементов. Теперь id оверлея у нас 'simplemodal-overlay', id контейнера - 'simplemodal-container', а кнопки 'simplemodal-close'. С одной стороны хорошо, приводится в порядок список id, не будет путаницы с другими плагинами для модальных окон, с другой сейчас начинаются проблемы у тех, кто не разобрался как обновить старые скрипты. На сайте, автор приводит способ, как обеспечить совместимость со старыми css:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">$<span style="color: #339933;">.</span>extend<span style="color: #009900;">&#40;</span>$<span style="color: #339933;">.</span>modal<span style="color: #339933;">.</span>defaults<span style="color: #339933;">,</span> <span style="color: #009900;">&#123;</span>
  closeClass<span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;modalClose&quot;</span><span style="color: #339933;">,</span>
  overlayId<span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;modalOverlay&quot;</span><span style="color: #339933;">,</span>
  containerId<span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;modalContainer&quot;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Ладно, будем считать разобрались, настроили стили. Запускаем самый простенький тест, взятый из моего прошлого поста про SimpleModal и...</p>
<h4>Fail #2</h4>
<p><a href="http://www.charnad.com/blog/wp-content/uploads/pictures/simplemodal/fail2.png"><img align="left" title="fail2" src="http://www.charnad.com/blog/wp-content/uploads/pictures/simplemodal/fail2_small.png" alt="fail2"/></a> Бум! Нажал на кнопочку ОК и получил дырку в оверлее. Тут надо заметить, что я убрал вспомогательный &lt;div>, который использовал в первый раз. По-видимому без него все-таки не обойтись. В итоге &lt;div> вернул, дырок больше не получаю. Надо заметить, что подобным страдает только Опера (у меня 9.63). Firefox 3, Chrome 1.0.154 и IE7 показали себя с лучшей стороны. Насколько я понял, автор пытался решить эту проблему для Оперы, но по-видимому в 9.63 что-то изменилось и его старания оказались напрасны.</p>
<h4 style="color:green">Success #1</h4>
<p>А вот и первая удача в новой версии. Теперь нам не надо приклеивать плагин Dimensions. Окно позиционируется по центру совершенно самостоятельно. Это очень радует, я пробовал играть с размерами окна и оно всегда было по центру. Одно только замечание. Нельзя давать модальному окну быть больше, чем размер окна браузера. Или хотя бы кнопку для закрытия не уносить. А то сделал я окно высотой в 1000 пикселей, а экран на ноутбуке у меня 800 пикселей высотой. Вот вам и задача, как закрыть модальное окно? В опере я спасаюсь табом, чтобы перейти на кнопку OK, которая присутствует в моих диалоговых окнах и проблел или enter, чтобы закрыть. Не каждый догадается на самом деле.</p>
<h4>Итого что мы имеем</h4>
<p>Помимо всего вышеуказанного, в версии 1.2.2 есть еще изменения(<noindex><a href="http://www.ericmmartin.com/projects/simplemodal/#changes" rel="nofollow"></noindex>ченджлог</a>). Их я проверить не могу. О результатах тестирования Эрику написал, надеюсь он сможет решить проблему с Оперой. Позже я возможно напишу апдейт для своих диалоговых окошек. А здесь все.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.charnad.com/blog/obzor-simplemodal-122/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Простое модальное окно на jQuery</title>
		<link>http://www.charnad.com/blog/prostoe-modalnoe-okoshko-na-jquery/</link>
		<comments>http://www.charnad.com/blog/prostoe-modalnoe-okoshko-na-jquery/#comments</comments>
		<pubDate>Fri, 14 Nov 2008 01:50:22 +0000</pubDate>
		<dc:creator>CharnaD</dc:creator>
				<category><![CDATA[JS]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[плагин]]></category>

		<guid isPermaLink="false">http://www.charnad.com/blog/?p=78</guid>
		<description><![CDATA[Обзор плагина SimpleModal, его глюков, избавление от глючности, позиционирование по центру экрана и прочие удобства. Помимо этой статьи советую посмотреть на более новую "Модальные окна на jQuery blockUI" Начинаем использовать Данные плагина: название: simplemodal размер: 10кб без сжатия автор: Eric Martin сайт: http://www.ericmmartin.com/projects/simplemodal/ скачать: http://simplemodal.googlecode.com/files/jquery.simplemodal-1.1.1.js демо: http://www.ericmmartin.com/simplemodal-test/ Выглядит это дело вот так: Для того чтобы [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.charnad.com/blog/wp-content/uploads/pictures/simplemodal/modal_logo.png" align="left">Обзор плагина SimpleModal, его глюков, избавление от глючности, позиционирование по центру экрана и прочие удобства. Помимо этой статьи советую посмотреть на более новую <a href="http://www.charnad.com/blog/modalnoe-okno-na-jquery-blockui/">"Модальные окна на jQuery blockUI"</a><span id="more-78"></span></p>
<h4>Начинаем использовать</h4>
<p>Данные плагина:</p>
<ul>
<li>название: simplemodal</li>
<li>размер: 10кб без сжатия</li>
<li>автор:<a href="http://www.ericmmartin.com/"> Eric Martin</a></li>
<li>сайт: <a href="http://www.ericmmartin.com/projects/simplemodal/">http://www.ericmmartin.com/projects/simplemodal/</a></li>
<li>скачать:<a href="http://simplemodal.googlecode.com/files/jquery.simplemodal-1.1.1.js"> http://simplemodal.googlecode.com/files/jquery.simplemodal-1.1.1.js</a></li>
<li>демо: <a href="http://www.ericmmartin.com/simplemodal-test/">http://www.ericmmartin.com/simplemodal-test/</a></li>
</ul>
<p>Выглядит это дело вот так:</p>
<div id="attachment_79" class="wp-caption alignnone" style="width: 310px"><a href="http://www.charnad.com/blog/wp-content/uploads/pictures/simplemodal/simplemodal1.png"><img class="size-medium wp-image-79" src="http://www.charnad.com/blog/wp-content/uploads/pictures/simplemodal/simplemodal1_small.png" alt="" width="300" height="146" /></a><p class="wp-caption-text">Вот так выглядит плагин на сайте разработчика</p></div>
<p>Для того чтобы плагин заработал его надо подключить:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>script src<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;jquery.simplemodal.js&quot;</span> type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></div></div>

<p>А так же указать стили для овереля (серой области), контейнера (собственно окно) и кнопки закрыть.</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #cc00cc;">#modalOverlay</span> <span style="color: #00AA00;">&#123;</span> 
  <span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#000</span><span style="color: #00AA00;">;</span>  <span style="color: #808080; font-style: italic;">/* Тут выбираем цвет затемнения */</span> 
  <span style="color: #000000; font-weight: bold;">cursor</span><span style="color: #00AA00;">:</span><span style="color: #993333;">wait</span><span style="color: #00AA00;">;</span>  <span style="color: #808080; font-style: italic;">/* Курсор при наведении на затемненную область */</span> 
  filter<span style="color: #00AA00;">:</span> alpha<span style="color: #00AA00;">&#40;</span>opacity<span style="color: #00AA00;">=</span><span style="color: #cc66cc;">80</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* Интенсивность затемнения */</span> 
  <span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span> <span style="color: #933;">100%</span><span style="color: #00AA00;">;</span> 
<span style="color: #00AA00;">&#125;</span> 
&nbsp;
<span style="color: #cc00cc;">#modalContainer</span> <span style="color: #00AA00;">&#123;</span> 
  <span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span><span style="color: #993333;">auto</span><span style="color: #00AA00;">;</span>   <span style="color: #808080; font-style: italic;">/* Для растягивания по высоте */</span> 
  <span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">300px</span><span style="color: #00AA00;">;</span> 
  <span style="color: #000000; font-weight: bold;">left</span><span style="color: #00AA00;">:</span><span style="color: #933;">50%</span><span style="color: #00AA00;">;</span>  <span style="color: #808080; font-style: italic;">/*в купе с margin-left, которая равна минус половине ширины центруют по горизонтали*/</span> 
  <span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">:</span><span style="color: #933;">50%</span><span style="color: #00AA00;">;</span>   <span style="color: #808080; font-style: italic;">/*центрует по вертикали, вместе с margin-top, если задать высоту*/</span> 
  <span style="color: #000000; font-weight: bold;">margin-left</span><span style="color: #00AA00;">:</span><span style="color: #933;">-150px</span><span style="color: #00AA00;">;</span> 
  <span style="color: #808080; font-style: italic;">/* margin-top: -70px; */</span> 
  <span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#fff</span><span style="color: #00AA00;">;</span> 
  <span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span><span style="color: #933;">3px</span> <span style="color: #993333;">solid</span> <span style="color: #cc00cc;">#ccc</span><span style="color: #00AA00;">;</span> 
  <span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span> <span style="color: #933;">10px</span><span style="color: #00AA00;">;</span> 
<span style="color: #00AA00;">&#125;</span>  
a<span style="color: #6666ff;">.modalCloseImg</span> <span style="color: #00AA00;">&#123;</span> 
  <span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span><span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span><span style="color: #ff0000; font-style: italic;">x.png</span><span style="color: #00AA00;">&#41;</span> <span style="color: #993333;">no-repeat</span><span style="color: #00AA00;">;</span> 
  <span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">25px</span><span style="color: #00AA00;">;</span>  <span style="color: #808080; font-style: italic;">/* Положение отличается от тех, что в примере. Мне кажется так удобнее */</span>
  <span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span><span style="color: #933;">29px</span><span style="color: #00AA00;">;</span> 
  <span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span><span style="color: #993333;">inline</span><span style="color: #00AA00;">;</span> 
  <span style="color: #000000; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span><span style="color: #cc66cc;">3200</span><span style="color: #00AA00;">;</span> 
  <span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span><span style="color: #993333;">absolute</span><span style="color: #00AA00;">;</span> 
  <span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">:</span><span style="color: #933;">0px</span><span style="color: #00AA00;">;</span> 
  <span style="color: #000000; font-weight: bold;">right</span><span style="color: #00AA00;">:</span><span style="color: #933;">0px</span><span style="color: #00AA00;">;</span> 
  <span style="color: #000000; font-weight: bold;">cursor</span><span style="color: #00AA00;">:</span><span style="color: #993333;">pointer</span><span style="color: #00AA00;">;</span> 
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>К сожалению в плагине таятся некоторые глюки. Так например в опере, если контент страницы короче чем сама страница, то при закрытии окна внизу остается серая область. А в IE она иногда и вовсе не закрашивается. </p>
<div id="attachment_84" class="wp-caption alignnone" style="width: 310px"><a href="http://www.charnad.com/blog/wp-content/uploads/pictures/simplemodal/simplemodal2.png"><img class="size-medium wp-image-84" src="http://www.charnad.com/blog/wp-content/uploads/pictures/simplemodal/simplemodal2_small.png" alt="Вот так это выглядит в Опере" width="300" height="174" /></a><p class="wp-caption-text">Вот так это выглядит в Опере</p></div>
<p>Однако это решается довольно просто. На страницу необходимо добавить стиль</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #cc00cc;">#helper</span> <span style="color: #00AA00;">&#123;</span> 
  <span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">absolute</span><span style="color: #00AA00;">;</span> 
  <span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">:</span> <span style="color: #933;">0px</span><span style="color: #00AA00;">;</span> 
  <span style="color: #000000; font-weight: bold;">left</span><span style="color: #00AA00;">:</span> <span style="color: #933;">0px</span><span style="color: #00AA00;">;</span> 
  <span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">100%</span><span style="color: #00AA00;">;</span> 
  <span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span> <span style="color: #933;">100%</span><span style="color: #00AA00;">;</span> 
  <span style="color: #000000; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span> -<span style="color: #cc66cc;">10</span><span style="color: #00AA00;">;</span> 
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>И в любом месте страницы вставляем:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;div id=&quot;helper&quot;&gt;&lt;/div&gt;</pre></div></div>

<p>Этим мы добиваемся перерисовки браузером нашего документа при закрытии модального окна.</p>
<h4>Делаем удобное оповещение</h4>
<p>Сначала добьемся, чтобы окно было посередине страницы. В своем примере я ограничил ширину 300px, а вот высота может меняться. CSS свойство top:50% действительно опускает окно до середины страницы, однако само модальное окно идет как раз ниже середины. Если бы мы указали высоту в пикселях, например 150px, то могли бы поднять окно над центром с помощью margin-top: -75px. Но окно будет резиновым, а мы для этого воспользуемся еще одним плагином: Dimensions.  Данные плагина:</p>
<ul>
<li>название: Dimensions</li>
<li>размер: 3кб без сжатия</li>
<li>сайт: <a href="http://docs.jquery.com/Plugins/dimensions">http://docs.jquery.com/Plugins/dimensions</a></li>
<li>скачать: <a href="http://plugins.jquery.com/files/dimensions_1.2.zip">http://plugins.jquery.com/files/dimensions_1.2.zip</a></li>
<li>демо: <a href="http://brandonaaron.net/docs/dimensions/#code-samples">http://brandonaaron.net/docs/dimensions/#code-samples</a></li>
</ul>
<p>Этот плагин дает нам возможность измерить высоту окна, соответственно и вычислить половину высоты и поднять на это количество пикселей окно над центром веб-страницы.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span> src<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;jquery.dimensions.js&quot;</span><span style="color: #339933;">&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></div></div>

<p>Подключили. Теперь открываем редактором файл плагина Simplemodal (jquery.simplemodal.js), да-да, будем исправлять плагин. Если наши версии совпадают, то на строке 294 будет функция open. Идем в самый ее конец, сразу после this.bindEvents(); и до закрывающей фигурной скобки ставим</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#modalContainer'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'margin-top'</span><span style="color: #339933;">,-</span>$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#modalContainer'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">outerHeight</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #CC0000;">2</span><span style="color: #339933;">-</span><span style="color: #CC0000;">50</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Я специально отнял от высоты еще 50 пикселей, мне кажется это добавляет удобства. Но вы можете поэкспериментировать.  Осталось совсем немного.  Добавляем где-нибудь в конце страницы</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>div id<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;message&quot;</span> style<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;display: none; text-align: center;&quot;</span><span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>div id<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;messageText&quot;</span><span style="color: #339933;">&gt;</span>текст модального окна<span style="color: #339933;">&lt;/</span>div<span style="color: #339933;">&gt;&lt;</span>br <span style="color: #339933;">/&gt;&lt;</span>br <span style="color: #339933;">/&gt;</span>
<span style="color: #339933;">&lt;</span>input type<span style="color: #339933;">=</span><span style="color: #3366CC;">'button'</span> value<span style="color: #339933;">=</span><span style="color: #3366CC;">'Ok'</span> <span style="color: #003366; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #3366CC;">'modalClose'</span> style<span style="color: #339933;">=</span><span style="color: #3366CC;">'height: 30px; width: 60px;'</span><span style="color: #339933;">/&gt;</span>
<span style="color: #339933;">&lt;/</span>div<span style="color: #339933;">&gt;</span></pre></div></div>

<p>Заметьте, кнопка имеет class='modalClose'. Вы можете создать в диве любой другой объект с этим классом - клик по нему будет закрывать окно.  Все, приготовления закончены. Осталось его только использовать. Например так:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#messageText'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'Это наше окошко!'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#message'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">modal</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>И при загрузке страницы увидим</p>
<div id="attachment_87" class="wp-caption alignnone" style="width: 310px"><a href="http://www.charnad.com/blog/wp-content/uploads/pictures/simplemodal/simplemodal3.png"><img class="size-medium wp-image-87" src="http://www.charnad.com/blog/wp-content/uploads/pictures/simplemodal/simplemodal3_small.png" alt="Наше модальное окно!" width="300" height="174" /></a><p class="wp-caption-text">Наше модальное окно!</p></div>
<p>Ура, у нас все получилось. </p>
<p>Демо: <a href="http://www.charnad.com/stuff/simplemodal/">посмотреть</a></p>
<p>А другие <a href="http://snowcore.net/category/jquery" title="Примеры jQuery скриптов">jQuery примеры</a> можете посмотреть у моего друга Snowcore.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.charnad.com/blog/prostoe-modalnoe-okoshko-na-jquery/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
		<item>
		<title>Пишем плагин для jQuery. Простая валидация форм.</title>
		<link>http://www.charnad.com/blog/jquery-simple-validate/</link>
		<comments>http://www.charnad.com/blog/jquery-simple-validate/#comments</comments>
		<pubDate>Mon, 10 Nov 2008 21:12:04 +0000</pubDate>
		<dc:creator>CharnaD</dc:creator>
				<category><![CDATA[JS]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[плагин]]></category>

		<guid isPermaLink="false">http://www.charnad.com/blog/?p=41</guid>
		<description><![CDATA[Я сегодня написал свой первый плагин на jQuery, чем и хочу с вами поделиться. Новички, возможно, подчерпнут для себя что-то, знатоки поправят меня, где можно сделать лучше. Для тех, кто совсем не понимает в jQuery, но очень хочет - даю ссылку на материал, по которому сам разбирался в этой библиотеке. А так же ссылку на [...]]]></description>
			<content:encoded><![CDATA[<p>Я сегодня написал свой первый плагин на jQuery, чем и хочу с вами поделиться. Новички, возможно, подчерпнут для себя что-то, знатоки поправят меня, где можно сделать лучше.  Для тех, кто совсем не понимает в jQuery, но очень хочет - даю ссылку на <a href="http://www.rsdn.ru/article/inet/jQuery.xml">материал</a>, по которому сам разбирался в этой библиотеке. А так же ссылку на <a href="http://ru.wikipedia.org/wiki/Jquery">Википедию</a>, <a href="http://jquery.com/">официальный мануал (англ)</a> и <a href="http://anton.shevchuk.name/javascript/jquery-for-beginners">статьи</a>, которые мне помогли в изучении.</p>
<p><span id="more-41"></span></p>
<p>Начнем уже.</p>
<p>Для того, чтобы наш плагин мог быть вызван, как объект jQuery надо объявить его следующим образом:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">jQuery.<span style="color: #660066;">fn</span>.<span style="color: #660066;">validForm</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>userOptions<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #006600; font-style: italic;">//пишем код тут</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>userOptions - в данном случае пользовательские опции. А настраивать пользователь сможет контейнер для вывода сообщения о том, что не все поля были заполнены правильно и стиль этого контейнера.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> options <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
    errorContainer<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;#errorList&quot;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>После чего переписываем эти опции пользовательскими.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$.<span style="color: #660066;">extend</span><span style="color: #009900;">&#40;</span>options<span style="color: #339933;">,</span> userOptions<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Добавляем так же стиль для оформления полей ввода, в которых есть ошибки (красная обводка в 2 пикселя и светло-красный фон). Добавляем методом append в тег &lt;head&gt;</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'head'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">append</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;&lt;style&gt;.inputError{border: 2px solid #F00; background: #FAA;}&lt;/style&gt;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<div id="attachment_48" class="wp-caption alignnone" style="width: 400px"><img class="size-medium wp-image-48" src="http://www.charnad.com/blog/wp-content/uploads/pictures/validform/fields.jpg" alt="" /><p class="wp-caption-text">Вот так это будет выглядеть</p></div>
<p>Теперь у нас заданы основные настройки, пора переходить к активным действиям. В jQuery программист оперирует не столько отдельными элементами, сколько их коллекциями, поэтому мы должны учитывать, что в наш плагин может быть передана не одна форма для валидации, а несколько. Для этого воспользуемся функцией each для перебора всех входных данных. Данные у нас помещаются в переменной $(this).</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #003366; font-weight: bold;">var</span> id <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;#&quot;</span> <span style="color: #339933;">+</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'id'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#40;</span>id <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot; input&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">length</span> <span style="color: #339933;">&gt;</span> <span style="color: #CC0000;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        Validate<span style="color: #009900;">&#40;</span>id<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Как видите, для каждого полученного объекта мы объявили переменную id, состоящую из '#' и атрибута 'id' объекта. Тем самым мы получили id, который для использования в других функциях jQuery. В третьей строчке мы берем объект с именем id и всех его потомков, являющимися input'ами, и если их не 0, то применяем функцию Validate, которую опишем позже, а иначе возвращаем false.  (Если вам что-то непонятно в этой записи - прочитайте самый первый материал, указанный в статье.)  Суть всей предыдущего куска кода - применить функцию Validatе ко всем переданным в плагин формам, у которых есть поля ввода.  Далее идет собственно функция, так сказать "сердце" этого плагина.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> Validate<span style="color: #009900;">&#40;</span>form<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #006600; font-style: italic;">//дальше пишем код тут</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>form - имя формы, которую будем проверять.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>form <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot; input[@type=submit]&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Объявляем обработчик нажатия на кнопку submit.  Внутри нее сначала объявляем счетчик ошибок:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> errorAmount <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span></pre></div></div>

<p>А затем и коллекцию элементов, которые будем проверять.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> collection <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span>form <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot; input[@type=text]&quot;</span><span style="color: #009900;">&#41;</span>
    .<span style="color: #660066;">add</span><span style="color: #009900;">&#40;</span>form <span style="color: #339933;">+</span><span style="color: #3366CC;">&quot; input[@type=password]&quot;</span><span style="color: #009900;">&#41;</span>
    .<span style="color: #660066;">add</span><span style="color: #009900;">&#40;</span>form <span style="color: #339933;">+</span><span style="color: #3366CC;">&quot; input[@type=file]&quot;</span><span style="color: #009900;">&#41;</span>
    .<span style="color: #660066;">add</span><span style="color: #009900;">&#40;</span>form <span style="color: #339933;">+</span><span style="color: #3366CC;">&quot; textarea&quot;</span><span style="color: #009900;">&#41;</span>
    .<span style="color: #660066;">add</span><span style="color: #009900;">&#40;</span>form <span style="color: #339933;">+</span><span style="color: #3366CC;">&quot; select&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Функция add добавляет к уже найденным элементам еще множество. Таким образом, в переменной collection у нас собраны все поля ввода текста, пароля, селекты и текстарии.  Для каждого элемента коллекции сначала для простоты определяем элемент в переменную element, его длину length. Если длина у нас false (то есть равна 0) мы добавляем css-класс этому элементу (этот класс мы выше добавили в &lt;head&gt;), увеличиваем счетчик ошибок на 1. В случае же правильного заполнения поля - убираем красную обводку для поля ввода.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">collection.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #003366; font-weight: bold;">var</span> element <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> length <span style="color: #339933;">=</span> $.<span style="color: #660066;">trim</span><span style="color: #009900;">&#40;</span>element.<span style="color: #660066;">attr</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'value'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>length<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    element.<span style="color: #660066;">addClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'inputError'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    errorAmount<span style="color: #339933;">++;</span>
<span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
    element.<span style="color: #660066;">removeClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'inputError'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Для большего комфорта мы добавим обработчики изменения в наши поля. Если пользователь нажимает клавишу (то есть начинает вводить текст) мы сразу убираем обводку, однако если он стер, все, что ввел - возвращаем ее назад.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">collection.<span style="color: #660066;">keypress</span><span style="color: #009900;">&#40;</span> <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">removeClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'inputError'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
collection.<span style="color: #660066;">change</span><span style="color: #009900;">&#40;</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'value'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">length</span> <span style="color: #339933;">&lt;</span> <span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">addClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'inputError'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
        $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">removeClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'inputError'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Теперь у нас есть количество ошибок в форме, а все поля с ошибками выделены красным. Осталось вывести сообщение пользователю о том, что он забыл ввести что-либо.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>errorAmount<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    $<span style="color: #009900;">&#40;</span>options.<span style="color: #660066;">errorContainer</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'Заполните пожалуйста правильно выделенные поля'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    $<span style="color: #009900;">&#40;</span>options.<span style="color: #660066;">errorContainer</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">show</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
    $<span style="color: #009900;">&#40;</span>options.<span style="color: #660066;">errorContainer</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">hide</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Заполняем указанный в опциях контейнер текстом и показываем. А если все заполнено правильно - скрываем.  Вот собственно и все. Просто и полезно.</p>
<p>Теперь о том, как это можно использовать.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">&lt;script src=&quot;jquery.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;jquery.validform.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
<span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span>
  $<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#myForm'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">validForm</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>errorContainer<span style="color: #339933;">:</span> <span style="color: #3366CC;">'#errors'</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></div></div>

<p>Не забудьте вставить в код контейнер с id="errors".</p>
<p>Готовый код можно скачать <a href="http://www.charnad.com/stuff/jquery.validform.js">тут</a>.<br />
А рабочий пример посмотреть <a href="http://www.charnad.com/stuff/validform">тут</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.charnad.com/blog/jquery-simple-validate/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

