<?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>salsotto.com » difundindo ideias na web &#187; Javascript</title>
	<atom:link href="http://blog.salsotto.com/category/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.salsotto.com</link>
	<description>Quando uma boa ideia acontece e seu comodismo a desperdiça, você estará em dívida contigo e com a humanidade.&#34; ( Ivan Teorilang )</description>
	<lastBuildDate>Mon, 09 Jan 2012 03:01:49 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Requisições ajax com Django e jQuery &#8211; 1ª parte</title>
		<link>http://blog.salsotto.com/2011/09/16/requisicoes-ajax-com-django-e-jquery-1-parte/</link>
		<comments>http://blog.salsotto.com/2011/09/16/requisicoes-ajax-com-django-e-jquery-1-parte/#comments</comments>
		<pubDate>Fri, 16 Sep 2011 16:14:43 +0000</pubDate>
		<dc:creator>Salsotto</dc:creator>
				<category><![CDATA[Django]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://blog.salsotto.com/?p=826</guid>
		<description><![CDATA[Pretendo publicar uma série de 3 posts exemplificando a utilização de dois excelentes frameworks dos quais faço uso constante no meu dia-a-dia, o&#160; Django e o jQuery. A ideia parte da premissa de realizar requisições ajax e propiciar um desenvolvimento rápido para alguns problemas. É importante frisar que as soluções apresentadas podem ser facilmente implementadas [...]]]></description>
			<content:encoded><![CDATA[<p>Pretendo publicar uma série de 3 posts exemplificando a utilização de dois excelentes frameworks dos quais faço uso constante no meu dia-a-dia, o&nbsp; <a href="www.djangoproject.com/" target="_blank">Django</a> e o <a href="http://jquery.com/" target="_blank">jQuery</a>. A ideia parte da premissa de realizar requisições ajax e propiciar um desenvolvimento rápido para alguns problemas. É importante frisar que as soluções apresentadas podem ser facilmente implementadas também em outras linguagens.</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="HTML"><div class="devcodeoverflow"><ol><li><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">html</span>&gt;</span></li><li>&nbsp;&nbsp;<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">head</span>&gt;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;{{MEDIA_URL}}js/jquery.js&quot;</span>&gt;</span><span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span>&gt;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$<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></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#escola'</span><span style="color: #009900;">&#41;</span>.<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>					</li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;idEscola <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#escola'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">val</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$.<span style="color: #660066;">get</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'/professores/escola/'</span> <span style="color: #339933;">+</span> idEscola <span style="color: #339933;">+</span> <span style="color: #3366CC;">'/'</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>resposta<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#listaProfessor'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#listaProfessor'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">prepend</span><span style="color: #009900;">&#40;</span>resposta<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#listaProfessor'</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></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span></li><li>&nbsp;&nbsp;<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">head</span>&gt;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">body</span>&gt;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">form</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;avaliacaoForm&quot;</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;avaliacaoForm&quot;</span> <span style="color: #000066;">method</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;post&quot;</span> <span style="color: #000066;">action</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span>&gt;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;selecaoEscola&quot;</span>&gt;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">label</span> <span style="color: #000066;">for</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;escola&quot;</span>&gt;</span>Selecione uma escola:<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">label</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">br</span><span style="color: #66cc66;">/</span>&gt;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">select</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;escola&quot;</span>&gt;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">option</span> <span style="color: #000066;">value</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;0&quot;</span>&gt;</span>- - - - - - - - -<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">option</span>&gt;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{% for escola in escolas %}</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">option</span> <span style="color: #000066;">value</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;{{escola.id}}&quot;</span>&gt;</span>{{escola.nome}}<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">option</span>&gt;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{% endfor %}</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">select</span>&gt;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">table</span> <span style="color: #000066;">width</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;700&quot;</span> <span style="color: #000066;">border</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;1&quot;</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;listaProfessor&quot;</span> <span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;display:none&quot;</span>&gt;</span>					</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">table</span>&gt;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">form</span>&gt;</span></li><li>&nbsp;&nbsp;<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">body</span>&gt;</span></li><li><span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">html</span>&gt;</span></li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>&nbsp;</p>
<p>Template do selectbox.</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="HTML"><div class="devcodeoverflow"><ol><li>{% if professores %}</li><li>&nbsp;</li><li>&nbsp;&nbsp;<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">tr</span>&gt;</span>	</li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">th</span> <span style="color: #000066;">scope</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;col&quot;</span>&gt;</span>PROFESSOR<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">th</span>&gt;</span>	</li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">th</span> <span style="color: #000066;">scope</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;col&quot;</span> <span style="color: #000066;">colspan</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;2&quot;</span>&gt;</span>AÇÕES<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">th</span>&gt;</span>	</li><li>&nbsp;&nbsp;<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">tr</span>&gt;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;{% for professor in professores%}</li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">tr</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;linha&quot;</span>&gt;</span>	</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">td</span>&gt;</span>{{professor}}<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">td</span>&gt;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">td</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;{% url editar&nbsp;&nbsp;idProfessor=professor.id %}&quot;</span>&gt;</span>Editar<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">td</span>&gt;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">td</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;{% url deletar idProfessor=professor.id %}&quot;</span>&gt;</span>Deletar<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">td</span>&gt;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">tr</span>&gt;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;{% endfor %}</li><li>&nbsp;</li><li>{% else %}</li><li>&nbsp;</li><li>&nbsp;&nbsp;<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">tr</span>&gt;</span>	</li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">th</span> <span style="color: #000066;">scope</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;col&quot;</span>&gt;</span>NÃO HÁ PROFESSORES CADASTRADOS<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">th</span>&gt;</span></li><li>&nbsp;&nbsp;<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">tr</span>&gt;</span></li><li>&nbsp;</li><li>{% endif %}</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>&nbsp;</p>
<p>Retorna para o template o contexto via ajax.</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="Python"><div class="devcodeoverflow"><ol><li><span style="color: #808080; font-style: italic;">#bibliotecas django</span></li><li><span style="color: #ff7700;font-weight:bold;">from</span> django.<span style="color: black;">template</span> <span style="color: #ff7700;font-weight:bold;">import</span> RequestContext, Context</li><li>&nbsp;</li><li><span style="color: #ff7700;font-weight:bold;">def</span> changeProfessor<span style="color: black;">&#40;</span>request, idEscola<span style="color: black;">&#41;</span>:</li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #483d8b;">''</span><span style="color: #483d8b;">'</span></li><li><span style="color: #483d8b;">&nbsp;&nbsp;&nbsp;&nbsp;view: changeProfessor</span></li><li><span style="color: #483d8b;">&nbsp;&nbsp;&nbsp;&nbsp;descricao: carrega a lista de professores ao selecionar outra escola (ajax)</span></li><li><span style="color: #483d8b;">&nbsp;&nbsp;&nbsp;&nbsp;'</span><span style="color: #483d8b;">''</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;professores = Professor.<span style="color: black;">objects</span>.<span style="color: #008000;">filter</span><span style="color: black;">&#40;</span>escola=idEscola<span style="color: black;">&#41;</span>.<span style="color: black;">order_by</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'nome'</span><span style="color: black;">&#41;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #808080; font-style: italic;">#contexto para renderizar na pagina</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;contexto = Context<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;contexto<span style="color: black;">&#91;</span><span style="color: #483d8b;">'professores'</span><span style="color: black;">&#93;</span> = professores</li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #808080; font-style: italic;">#retorna o contexto para o template</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff7700;font-weight:bold;">return</span> render_to_response<span style="color: black;">&#40;</span><span style="color: #483d8b;">'professor.html'</span>, contexto, context_instance=RequestContext<span style="color: black;">&#40;</span>request<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>&nbsp;&nbsp;&nbsp;&nbsp;</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.salsotto.com/2011/09/16/requisicoes-ajax-com-django-e-jquery-1-parte/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tradução do livro jQuery Fundamentals por Herberth Amaral</title>
		<link>http://blog.salsotto.com/2010/11/17/traducao-do-livro-jquery-fundamentals-por-herbeth-amaral/</link>
		<comments>http://blog.salsotto.com/2010/11/17/traducao-do-livro-jquery-fundamentals-por-herbeth-amaral/#comments</comments>
		<pubDate>Wed, 17 Nov 2010 18:09:37 +0000</pubDate>
		<dc:creator>Salsotto</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://blog.salsotto.com/?p=736</guid>
		<description><![CDATA[A primeira versão traduzida do livro Jquery Fundamentals (Rebecca Murphey) realizada por Herberth Amaral acaba de ser disponibilizada em versão beta, enquanto é finalizado os ajustes necessários para a versão estável. Com isso, ficamos na expectativa e aproveitamos esse excelente material que já está em circulação.
Então se você procura uma ótima referência de jQuery não [...]]]></description>
			<content:encoded><![CDATA[<p>A primeira versão traduzida do livro <strong><em>Jquery Fundamentals</em></strong> (Rebecca Murphey) realizada por <a title="Herbeth Amaral" href="http://herberthamaral.com" target="_blank">Herberth Amaral</a> acaba de ser disponibilizada em versão beta, enquanto é finalizado os ajustes necessários para a versão estável. Com isso, ficamos na expectativa e aproveitamos esse excelente material que já está em circulação.</p>
<p>Então se você procura uma ótima referência de <em>jQuery</em> não deixe de acompanhar as atualizações no <a title="Repositório" href="http://github.com/herberthamaral/jqfundamentals-pt-BR" target="_blank">repositório</a> do Github.</p>
<p>Parabéns pelo trabalho, uma ótima iniciativa Herbeth.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.salsotto.com/2010/11/17/traducao-do-livro-jquery-fundamentals-por-herbeth-amaral/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fechar pop-up automaticamente com Javascript</title>
		<link>http://blog.salsotto.com/2010/01/18/fechar-pop-up-automaticamente-com-javascript/</link>
		<comments>http://blog.salsotto.com/2010/01/18/fechar-pop-up-automaticamente-com-javascript/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 12:42:27 +0000</pubDate>
		<dc:creator>Salsotto</dc:creator>
				<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://blog.salsotto.com/?p=658</guid>
		<description><![CDATA[Hoje a técnica de abrir pop-up em janelas já não é das mais utilizadas, e nem recomendadas por desenvolvedores que seguem os padrões do W3C, porém muitos ainda a utilizam(infelizmente).
Abaixo apresentarei a solução que implementei para fechar as janelas automaticamente com javascript, pois já que vergonhosamente alguns seres ainda utilizam essa técnica poupe-nos de pelo [...]]]></description>
			<content:encoded><![CDATA[<p>Hoje a técnica de abrir pop-up em janelas já não é das mais utilizadas, e nem recomendadas por desenvolvedores que seguem os padrões do W3C, porém muitos ainda a utilizam(infelizmente).</p>
<p>Abaixo apresentarei a solução que implementei para fechar as janelas automaticamente com javascript, pois já que vergonhosamente alguns seres ainda utilizam essa técnica poupe-nos de pelo ficarem abertas até que se clique no botão de fechar.<!--DEVFMTCODE--><pre class="devcodeblock" title="Javascript"><div class="devcodeoverflow"><ol><li><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>setTimeout<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;self.close();&quot;</span><span style="color: #339933;">,</span><span style="color: #CC0000;">7000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>&nbsp;</p>
<p>Com o código acima dentro do cabeçalho do seu pop-up, ele irá fechar automaticamente em 07 segundos após ter sido aberto.&nbsp; Não aconselho usarem este tipo de técnica, então em um próximo post, mostrarei como divulgar anúncios de um modo correto.</p>
<p>[]s</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.salsotto.com/2010/01/18/fechar-pop-up-automaticamente-com-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Limpar formulários com Javascript</title>
		<link>http://blog.salsotto.com/2009/10/30/limpar-formularios-com-javascript/</link>
		<comments>http://blog.salsotto.com/2009/10/30/limpar-formularios-com-javascript/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 13:52:37 +0000</pubDate>
		<dc:creator>Salsotto</dc:creator>
				<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://blog.salsotto.com/?p=342</guid>
		<description><![CDATA[Quem nunca viu aquele botãozinho de limpar formulários por ai hein!? Alguém já usou esse botão!? Essa é&#160; uma funcionalidade provida pelo próprio HTML, pelo menos era isso que eu pensava!
Dentro dos elementos inputs dos formulários HTML, há uma atributo chamado de reset, que no qual seu intuito é resetar os todos elementos(inputs, textarea, checkbox [...]]]></description>
			<content:encoded><![CDATA[<p>Quem nunca viu aquele botãozinho de limpar formulários por ai hein!? Alguém já usou esse botão!? Essa é&nbsp; uma funcionalidade provida pelo próprio HTML, pelo menos era isso que eu pensava!</p>
<p>Dentro dos elementos inputs dos formulários HTML, há uma atributo chamado de <strong>reset</strong>, que no qual seu intuito é resetar os todos elementos(inputs, textarea, checkbox e etc&#8230;) do formuário, porém tinha comigo que esse atributo tinha a funcionalidade de limpar os campos, mas equivoquei-me imensamente, pois sua funcionalidade é restaurar os valores inicias que os elementos receberam quando foram criados.</p>
<p>Foi ai que deparei-me com o problema, pois quando o submit do formulário era enviado para o servidor, guardava em uma <strong>session</strong> iniciada pelo php todos os valores dos campos caso houvesse algum erro na validação, e quando havia erros na validação os valores iniciados nos elementos eram exatamentes aqueles que foram guardados nas sessions, tornando assim impossível de limpar o formulário.</p>
<p>Para isso criei a seguinte função, que independentemente limpa o formulário a qualquer hora.</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="Javascript"><div class="devcodeoverflow"><ol><li><span style="color: #003366; font-weight: bold;">function</span> limpa_formulario<span style="color: #009900;">&#40;</span>form<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp; <span style="color: #006600; font-style: italic;">//total de elementos no formulario (inputs, select, textarea...)</span></li><li>&nbsp;&nbsp; total_elementos <span style="color: #339933;">=</span> form.<span style="color: #660066;">elements</span>.<span style="color: #660066;">length</span><span style="color: #339933;">;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp; i<span style="color: #339933;">=</span><span style="color: #CC0000;">0</span><span style="color: #339933;">;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp; <span style="color: #006600; font-style: italic;">//enquanto não percorrer todos os elementos do formulario</span></li><li>&nbsp;&nbsp; <span style="color: #000066; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>i <span style="color: #339933;">&lt;</span> total_elementos<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>form.<span style="color: #660066;">elements</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">type</span><span style="color: #339933;">!=</span><span style="color: #3366CC;">&quot;submit&quot;</span> <span style="color: #339933;">||</span> form.<span style="color: #660066;">elements</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">type</span><span style="color: #339933;">!=</span><span style="color: #3366CC;">&quot;button&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>form.<span style="color: #660066;">elements</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">value</span><span style="color: #339933;">!=</span><span style="color: #3366CC;">&quot;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> </li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; form.<span style="color: #660066;">elements</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">value</span><span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;&quot;</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #009900;">&#125;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&#125;</span>&nbsp;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i<span style="color: #339933;">++;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&#125;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">;</span></li><li><span style="color: #009900;">&#125;</span></li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.salsotto.com/2009/10/30/limpar-formularios-com-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Funções recursivas em Javascript</title>
		<link>http://blog.salsotto.com/2009/10/26/funcoes-recursivas-em-javascript/</link>
		<comments>http://blog.salsotto.com/2009/10/26/funcoes-recursivas-em-javascript/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 01:04:19 +0000</pubDate>
		<dc:creator>Salsotto</dc:creator>
				<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://blog.salsotto.com/?p=155</guid>
		<description><![CDATA[O que é recursão?
A recursão na programação é bem exemplificada quando uma função é definida em termos de si mesma, onde essa função invoca a si própria, assim como o exemplo abaixo:
function fraseRandomica&#40;id_elemento&#41;&#123;&#160;&#160;&#160;&#160;&#160;/*cria array de frases*/&#160;&#160;&#160;&#160;frase =&#160;&#160;new Array&#40;10&#41;;&#160;&#160;&#160;&#160;&#160;frase&#91;0&#93;&#160;&#160;= &#34;O Django é fantástico&#34;;&#160;&#160;&#160;&#160;frase&#91;1&#93;&#160;&#160;= &#34;O Django é maravilhoso&#34;;&#160;&#160;&#160;&#160;frase&#91;2&#93;&#160;&#160;= &#34;O Django é o melhor framework web&#34;;&#160;&#160;&#160;&#160;frase&#91;3&#93;&#160;&#160;= &#34;O Django [...]]]></description>
			<content:encoded><![CDATA[<h2>O que é recursão?</h2>
<p>A recursão na programação é bem exemplificada quando uma função é definida em termos de si mesma, onde essa função invoca a si própria, assim como o exemplo abaixo:</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="Javascript"><div class="devcodeoverflow"><ol><li><span style="color: #003366; font-weight: bold;">function</span> fraseRandomica<span style="color: #009900;">&#40;</span>id_elemento<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009966; font-style: italic;">/*cria array de frases*/</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;frase <span style="color: #339933;">=</span>&nbsp;&nbsp;<span style="color: #003366; font-weight: bold;">new</span> Array<span style="color: #009900;">&#40;</span>10<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;frase<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span>&nbsp;&nbsp;<span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;O Django é fantástico&quot;</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;frase<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#93;</span>&nbsp;&nbsp;<span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;O Django é maravilhoso&quot;</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;frase<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">2</span><span style="color: #009900;">&#93;</span>&nbsp;&nbsp;<span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;O Django é o melhor framework web&quot;</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;frase<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3</span><span style="color: #009900;">&#93;</span>&nbsp;&nbsp;<span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;O Django é simples&quot;</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;frase<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">4</span><span style="color: #009900;">&#93;</span>&nbsp;&nbsp;<span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;O Django é rápido&quot;</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;frase<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">5</span><span style="color: #009900;">&#93;</span>&nbsp;&nbsp;<span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;O Django é Pythonico&quot;</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;frase<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">6</span><span style="color: #009900;">&#93;</span>&nbsp;&nbsp;<span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;O Django é a 8 maravilha do mundo&quot;</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;frase<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">7</span><span style="color: #009900;">&#93;</span>&nbsp;&nbsp;<span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;O Django é foda&quot;</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;frase<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">8</span><span style="color: #009900;">&#93;</span>&nbsp;&nbsp;<span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;O Django é sem palavras&quot;</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;frase<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">9</span><span style="color: #009900;">&#93;</span>&nbsp;&nbsp;<span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;O Django é tudo&quot;</span><span style="color: #339933;">;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009966; font-style: italic;">/*gera um numero randomico de 0 a 9*/</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;numero_randomico&nbsp;&nbsp;<span style="color: #339933;">=</span> Math.<span style="color: #660066;">floor</span><span style="color: #009900;">&#40;</span>Math.<span style="color: #660066;">random</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> 9<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009966; font-style: italic;">/*seleciona a frase pelo numero gerado*/</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;output <span style="color: #339933;">=</span> frase<span style="color: #009900;">&#91;</span>numero_randomico<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009966; font-style: italic;">/*retorna a frase para o elemento html espeficado pelo id*/</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span>id_elemento<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> output<span style="color: #339933;">;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009966; font-style: italic;">/*chama a propria função após 04 segundos*/</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;setTimeout<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'fraseRandomica();'</span><span style="color: #339933;">,</span>4000<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></li><li>&nbsp;</li><li><span style="color: #009900;">&#125;</span></li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>&nbsp;</p>
<p>A função acima é só um exemplo de funcionamento de funções recursivas no javascript, mas também serve de exemplo para quem queira desenvolver um função de frases dinâmicas, assim como no site <a title="Site: Azeite de Oliva Espanhol" href="http://www.azeite.com.br/" target="_blank">Azeite de Oliva Espanhol </a>onde foi o propósito de desenvolvimento dessa função.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.salsotto.com/2009/10/26/funcoes-recursivas-em-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Delimitar maxlength no textarea</title>
		<link>http://blog.salsotto.com/2009/10/26/delimitar-maxlength-no-textarea/</link>
		<comments>http://blog.salsotto.com/2009/10/26/delimitar-maxlength-no-textarea/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 00:25:00 +0000</pubDate>
		<dc:creator>Salsotto</dc:creator>
				<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://blog.salsotto.com/?p=146</guid>
		<description><![CDATA[Não existe qualquer atributo HTML para a tag textarea que delimite o número máximo de caracteres que o campo&#160; pode ter, diferentemente dos campos inputs que possuem o atributo maxlength, por isso é necessário a intervenção do javascript para tal tarefa em campos textarea.
function maxlength&#40;nome_campo, nome_formulario, limite_caracteres&#41;&#123;&#160; /* tamanho de caracteres */ var tamanho&#160;&#160;= document.nome_formulario&#91;nome_campo&#93;.value.length;&#160; [...]]]></description>
			<content:encoded><![CDATA[<p>Não existe qualquer atributo HTML para a tag textarea que delimite o número máximo de caracteres que o campo&nbsp; pode ter, diferentemente dos campos inputs que possuem o atributo maxlength, por isso é necessário a intervenção do javascript para tal tarefa em campos textarea.</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="Javascript"><div class="devcodeoverflow"><ol><li><span style="color: #003366; font-weight: bold;">function</span> maxlength<span style="color: #009900;">&#40;</span>nome_campo<span style="color: #339933;">,</span> nome_formulario<span style="color: #339933;">,</span> limite_caracteres<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span></li><li>&nbsp;</li><li> <span style="color: #009966; font-style: italic;">/* tamanho de caracteres */</span></li><li> <span style="color: #003366; font-weight: bold;">var</span> tamanho&nbsp;&nbsp;<span style="color: #339933;">=</span> document.<span style="color: #660066;">nome_formulario</span><span style="color: #009900;">&#91;</span>nome_campo<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">value</span>.<span style="color: #660066;">length</span><span style="color: #339933;">;</span></li><li>&nbsp;</li><li> <span style="color: #009966; font-style: italic;">/* conteudo digitado */</span></li><li> <span style="color: #003366; font-weight: bold;">var</span> conteudo <span style="color: #339933;">=</span> document.<span style="color: #660066;">nome_formulario</span><span style="color: #009900;">&#91;</span>nome_campo<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">value</span><span style="color: #339933;">;</span></li><li>&nbsp;</li><li> <span style="color: #009966; font-style: italic;">/* se o tamanho for maior que o limite, ele sobrescrece o ultimo caractere */</span></li><li> <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>tamanho <span style="color: #339933;">&gt;=</span> limite_caracteres<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.<span style="color: #660066;">nome_formulario</span><span style="color: #009900;">&#91;</span>nome_campo<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">value</span><span style="color: #339933;">=</span>tex.<span style="color: #660066;">substring</span><span style="color: #009900;">&#40;</span>0<span style="color: #339933;">,</span>limite<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&#125;</span></li><li>&nbsp;</li><li> <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">;</span></li><li><span style="color: #009900;">&#125;</span></li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>&nbsp;</p>
<p>Seu uso é usado no onkeyup de seu campo textarea. Acho que não tem segredo! ;D</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.salsotto.com/2009/10/26/delimitar-maxlength-no-textarea/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

