<?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>Mas que Wordpress - Tutoriales, recursos web, JQuery y PHP, Wordpress , twitter y muchos recursos más &#187; formularios</title>
	<atom:link href="http://www.masquewordpress.com/tag/formularios/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.masquewordpress.com</link>
	<description>Tutoriales y recursos web sobre JQuery , PHP, Wordpress , twitter. Aprende diseño web y programación</description>
	<lastBuildDate>Mon, 06 Feb 2012 15:02:11 +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>Enviar formularios con AJAX y jQuery parte II</title>
		<link>http://www.masquewordpress.com/enviar-formularios-con-ajax-y-jquery/</link>
		<comments>http://www.masquewordpress.com/enviar-formularios-con-ajax-y-jquery/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 20:33:17 +0000</pubDate>
		<dc:creator>Damian</dc:creator>
				<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[formularios]]></category>
		<category><![CDATA[tutorial jquery]]></category>

		<guid isPermaLink="false">http://www.masquewordpress.com/?p=1169</guid>
		<description><![CDATA[Hace mucho tiempo escribí en el blog como enviar un formulario con AJAX y jQuery mediante el plugin jquery.form.js. A día de hoy y con mucha más experiencia en jQuery prefiero escribir mis propios códigos en lugar de utilizar tantos plugins. Por lo que hoy les voy a explicar como enviar un formulario con AJAX [...]]]></description>
			<content:encoded><![CDATA[<p>Hace mucho tiempo escribí en el blog <a href="http://www.masquewordpress.com/como-enviar-un-formulario-via-ajax-con-jquery/">como enviar un formulario con AJAX y jQuery</a> mediante el plugin jquery.form.js. A día de hoy y con mucha más experiencia en jQuery prefiero escribir mis propios códigos en lugar de utilizar tantos plugins.<br />
Por lo que hoy les voy a explicar como enviar un formulario con AJAX gracias a jQuery y sin usar ningún plugin.<br />
<span id="more-1169"></span></p>
<p>Para seguir el mismo ejemplo que en el otro post vamos a utilizar el mismo formulario:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;form id=&quot;myForm&quot; action=&quot;contacto.php&quot; method=&quot;post&quot; style=&quot;height:200px;&quot;&gt; 
    &lt;label&gt;Nombre:&lt;/label&gt; &lt;input type=&quot;text&quot; name=&quot;name&quot; /&gt; 
    &lt;label&gt;Mensaje:&lt;/label&gt; &lt;textarea name=&quot;mensaje&quot;&gt;&lt;/textarea&gt; 
    &lt;input type=&quot;submit&quot; value=&quot;Enviar&quot; /&gt; &lt;div id=&quot;ajax_loader&quot;&gt;&lt;img id=&quot;loader_gif&quot; src=&quot;loader.gif&quot; style=&quot; display:none;&quot;/&gt;&lt;/div&gt;
&lt;/form&gt;</pre></div></div>

<p>Pero ahora para enviar el formulario tan solo haremos uso de algunas funciones de jQuery como son : </p>
<ul>
<li><a href="http://api.jquery.com/serialize/">.serialize()</a> : encargada de codificar todos los valores del formulario en una cadena para ser pasada.</li>
<li><a href="http://api.jquery.com/submit/">.submit()</a>: encargada de añadir al evento submit del formulario la función que usaremos para enviar el mismo.</li>
<li><a href="http://api.jquery.com/jQuery.ajax/">jQuery.ajax()</a>: encargada de realizar AJAX request.</li>
</ul>
<p>Nuestro nuevo script quedaría de la siguiente manera:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">        $<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>ready<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
&nbsp;
          $<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'#myForm'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>submit<span style="color: #009900;">&#40;</span><span style="color: #000000; 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: #666666; font-style: italic;">//en el evento submit del fomulario</span>
	          event<span style="color: #339933;">.</span>preventDefault<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">//detenemos el comportamiento por default</span>
&nbsp;
			  <span style="color: #000000; font-weight: bold;">var</span> url <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span>this<span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>attr<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'action'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">//la url del action del formulario</span>
			  <span style="color: #000000; font-weight: bold;">var</span> datos <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span>this<span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #990000;">serialize</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// los datos del formulario</span>
			  $<span style="color: #339933;">.</span>ajax<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
				  type<span style="color: #339933;">:</span> <span style="color: #0000ff;">'POST'</span><span style="color: #339933;">,</span>
				  url<span style="color: #339933;">:</span> url<span style="color: #339933;">,</span>
				  data<span style="color: #339933;">:</span> datos<span style="color: #339933;">,</span>
				  beforeSend<span style="color: #339933;">:</span> mostrarLoader<span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//funciones que definimos más abajo</span>
				  success<span style="color: #339933;">:</span> mostrarRespuesta  <span style="color: #666666; font-style: italic;">//funciones que definimos más abajo</span>
			   <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
          <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	
&nbsp;
&nbsp;
&nbsp;
&nbsp;
        <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
        <span style="color: #000000; font-weight: bold;">function</span> mostrarLoader<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: #0000ff;">'#loader_gif'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>fadeIn<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;slow&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//muestro el loader de ajax</span>
        <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
        <span style="color: #000000; font-weight: bold;">function</span> mostrarRespuesta <span style="color: #009900;">&#40;</span>responseText<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	          alert<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Mensaje enviado: &quot;</span><span style="color: #339933;">+</span>responseText<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">//responseText es lo que devuelve la página contacto.php. Si en contacto.php hacemos echo &quot;Hola&quot; , la variable responseText = &quot;Hola&quot; . Aca hago un alert con el valor de response text</span>
	          $<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;#loader_gif&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>fadeOut<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;slow&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Hago desaparecer el loader de ajax</span>
	          $<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;#ajax_loader&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>append<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;&lt;br&gt;Mensaje: &quot;</span><span style="color: #339933;">+</span>responseText<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Aca utilizo la función append de JQuery para añadir el responseText  dentro del div &quot;ajax_loader&quot;</span>
        <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span></pre></div></div>

<p><div class="avia-box info    "><span class="avia-innerbox" >Pueden ver un ejemplo online en <a href="http://masquewordpress.com/ejemplos/enviar-formulario-con-ajax-jquery/">&#8220;Como enviar un formulario AJAX con jQuery&#8221;</a></span></div><br />
<div class="avia-box download   rounded "><span class="avia-innerbox" >Pueden descargar el código antiguo en <a href="http://www.masquewordpress.com/como-enviar-un-formulario-via-ajax-con-jquery/">este post</a> </span></div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.masquewordpress.com/enviar-formularios-con-ajax-y-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como enviar un formulario via AJAX con JQuery</title>
		<link>http://www.masquewordpress.com/como-enviar-un-formulario-via-ajax-con-jquery/</link>
		<comments>http://www.masquewordpress.com/como-enviar-un-formulario-via-ajax-con-jquery/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 21:30:48 +0000</pubDate>
		<dc:creator>Damian</dc:creator>
				<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[formularios]]></category>
		<category><![CDATA[jquery.plugin]]></category>

		<guid isPermaLink="false">http://masquewordpress.com/?p=161</guid>
		<description><![CDATA[Hoy en dia y gracias a JQuery cualquiera puede implementar AJAX en sus webs para hacerlas más dinámicas. Hoy debido a todo el tema de la fiebre porcina cierran los boliches así que ya que me quedo en casa aprovecho y les cuento como poder usar el plugin jquery.forms para enviar un formulario mediante AJAX [...]]]></description>
			<content:encoded><![CDATA[<p>Hoy en dia y gracias a <a title="Introducción a JQuery" href="http://masquewordpress.com/jquery/introduccion-a-jquery/" target="_blank">JQuery</a> cualquiera puede implementar <a title="AJAX wikipedia" href="http://es.wikipedia.org/wiki/AJAX" target="_blank">AJAX</a> en sus webs para hacerlas más dinámicas. Hoy debido a todo el tema de la fiebre porcina cierran los boliches así que ya que me quedo en casa aprovecho y les cuento como poder usar el plugin<a title="Jquery forms plugin" href="http://malsup.com/jquery/form/#download" target="_blank"> jquery.forms</a> para enviar un formulario mediante AJAX de una forma super sencilla.</p>
<p>Para empezar necesitamos un formulario. Vamos a usar de ejemplo un formulario de contácto sencillo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="html4strict" style="font-family:monospace;"><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;myForm&quot;</span> <span style="color: #000066;">action</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;contacto.php&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;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;height:200px;&quot;</span>&gt;</span> 
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">label</span>&gt;</span>Nombre:<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">label</span>&gt;</span> <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text&quot;</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;name&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span> 
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">label</span>&gt;</span>Mensaje:<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">label</span>&gt;</span> <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">textarea</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;mensaje&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">textarea</span>&gt;</span> 
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;submit&quot;</span> <span style="color: #000066;">value</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Enviar&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span> <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;ajax_loader&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;loader_gif&quot;</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;loader.gif&quot;</span> <span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot; display:none;&quot;</span><span style="color: #66cc66;">/</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">form</span>&gt;</span></pre></td></tr></table></div>

<p>Una vez tengamos el codigo <strong>HTML</strong> del formulario tan solo debemos añadir el plugin y ejecutarlo una vez el <strong>DOM</strong> este cargado añadiendo las opciones que creamos convenientes.<br />
Hay diferentes gif animados para ajax, si quieren alguno diferente echen un vistazo al último <a href="http://masquewordpress.com/recursos/gif-animados-para-ajax/" target="_blank">artículo</a> que escribí.<br />
Para consultar las diferente opciones de<strong> jquery.form</strong> visiten su <a href="http://malsup.com/jquery/form/"  target="_blank">web</a>.</p>
<p><strong>index.php:</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">&lt;script src=&quot;js/jquery-latest.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
 &lt;script src=&quot;js/jquery.form.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt; 
&nbsp;
<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>
&nbsp;
        <span style="color: #006600; font-style: italic;">// esperamos que el DOM cargue</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: #006600; font-style: italic;">// definimos las opciones del plugin AJAX FORM</span>
            <span style="color: #003366; font-weight: bold;">var</span> opciones<span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
                               beforeSubmit<span style="color: #339933;">:</span> mostrarLoader<span style="color: #339933;">,</span> <span style="color: #006600; font-style: italic;">//funcion que se ejecuta antes de enviar el form</span>
                               success<span style="color: #339933;">:</span> mostrarRespuesta <span style="color: #006600; font-style: italic;">//funcion que se ejecuta una vez enviado el formulario</span>
            <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
             <span style="color: #006600; font-style: italic;">//asignamos el plugin ajaxForm al formulario myForm y le pasamos las opciones</span>
            $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#myForm'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ajaxForm</span><span style="color: #009900;">&#40;</span>opciones<span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span> 
&nbsp;
             <span style="color: #006600; font-style: italic;">//lugar donde defino las funciones que utilizo dentro de &quot;opciones&quot;</span>
             <span style="color: #003366; font-weight: bold;">function</span> mostrarLoader<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
                          $<span style="color: #009900;">&#40;</span>#loader_gif<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">fadeIn</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;slow&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">//muestro el loader de ajax</span>
             <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
             <span style="color: #003366; font-weight: bold;">function</span> mostrarRespuesta <span style="color: #009900;">&#40;</span>responseText<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
                           <span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Mensaje enviado: &quot;</span><span style="color: #339933;">+</span>responseText<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #006600; font-style: italic;">//responseText es lo que devuelve la página contacto.php. Si en contacto.php hacemos echo &quot;Hola&quot; , la variable responseText = &quot;Hola&quot; . Aca hago un alert con el valor de response text</span>
                          $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#loader_gif&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">fadeOut</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;slow&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// Hago desaparecer el loader de ajax</span>
                          $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#ajax_loader&quot;</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;br&gt;Mensaje: &quot;</span><span style="color: #339933;">+</span>responseText<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// Aca utilizo la función append de JQuery para añadir el responseText  dentro del div &quot;ajax_loader&quot;</span>
             <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
&nbsp;
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<p>Este ejemplo es muy simple. El action del formulario apunta a contacto.php y es ahi donde hay que poner las funciones que queramos, como por ejemplo que nos envie un mail con el mensaje y nombre que aparece en el formulario. Si no estuvieramos usando <strong>JQuery</strong> y el plugin de <strong>jquery.form</strong>, al hacer click en &#8220;Enviar&#8221; nuestro navegador cargaria la página contacto.php como suele pasar normalmente. En este caso gracias al AJAX el contenido del formulario se enviara mediante la variable $_POST a la página <strong>contacto.php</strong> de una forma invisible al usuario y una vez que se envie correctamente se va a ejecutar este simple código:</p>
<p><strong>contacto.php:</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'mensaje'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">''</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'mensaje'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>Lo que hacemos aca es un echo del mensaje enviado que aunque para el usuario pasa inadvertido , podremos mostrarlo con &#8220;responseText&#8221;. </p>
<p><a href="http://masquewordpress.com/ejemplos/enviar-formulario-mediante-ajax/" target="_blank">Ver ejemplo</a><br />
<a href="http://masquewordpress.com/ejemplos/enviar-formulario-mediante-ajax.zip" target="_blank">Descargar código</a></p>
<p>Si quieren ver un ejemplo de un formulario de contacto con AJAX, pueden probar <a href="http://www.timersys.com/#contacto" target="_blank">este</a>.</p>
<p>Espero que haya servido de ayuda. Un saludo a todos!!!</p>
<div class="avia-box info    "><span class="avia-innerbox" >Pueden ver un ejemplo sin plugin en <a href="http://www.masquewordpress.com/enviar-formularios-con-ajax-y-jquery/">&#8220;Como enviar un formulario AJAX con jQuery parte II&#8221;</a></span></div>
]]></content:encoded>
			<wfw:commentRss>http://www.masquewordpress.com/como-enviar-un-formulario-via-ajax-con-jquery/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Añadir campos a un formulario dinámicamente con JQuery</title>
		<link>http://www.masquewordpress.com/anadir-campos-a-un-formulario-dinamicamente-con-jquery/</link>
		<comments>http://www.masquewordpress.com/anadir-campos-a-un-formulario-dinamicamente-con-jquery/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 01:42:43 +0000</pubDate>
		<dc:creator>Damian</dc:creator>
				<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[formularios]]></category>

		<guid isPermaLink="false">http://masquewordpress.com/?p=129</guid>
		<description><![CDATA[En uno de mis ultimos proyectos tuve la necesidad de crear un formulario donde el cliente pudiera añadir campos de texto a medida que lo fuera necesitando, y a su vez quitarlos si ya no le eran necesarios. Esto se puede realizar de una forma muy sencilla con JQuery. Suponiendo que tenemos el siguiente código [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="size-full wp-image-130 aligncenter" title="formulario_dinamico" src="http://masquewordpress.com/wp-content/uploads/2009/06/formulario_dinamico.gif" alt="formulario_dinamico" width="450" height="222" /></p>
<p style="text-align: left;">En uno de mis <a title="Programas timersys" href="http://www.timersys.com/#programas" target="_blank">ultimos proyectos</a> tuve la necesidad de crear un formulario donde el cliente pudiera añadir campos de texto a medida que lo fuera necesitando, y a su vez quitarlos si ya no le eran necesarios.</p>
<p style="text-align: left;">Esto se puede realizar de una forma muy sencilla con JQuery. Suponiendo que tenemos el siguiente código HTML</p>
<p style="text-align: left;">
<p style="text-align: left;">
<p style="text-align: left;">
<p><code lang="html4strict"></p>
<div id="stylized" class="myform" style="margin:20px auto;">
<form id="form" name="form" method="post" action="index.php">
<div id="material_comprado"  > </div>
<h1>Compra de material</h1>
<p>Si es necesario a&ntilde;ade el material a comprar</p>
<div id="div_1">
<label>Material de compra<br />
<span class="small">A&ntilde;ade los materiales</span><br />
</label></p>
<input  type="text"  name="materiales[]" id="materiales1" style="width:200px;" /> <span style="float:left;padding: 8px 0px 8px 8px;">Cantidad:</span><br />
<input type="text"   name="cantidadmateriales[]"  style="width:40px;" />
<input class="bt_plus" id="1" type="button" value="+" />
<div class="error_form"></div>
</div>
<p><button type="submit" class="boton">Save</button></p>
<div class="spacer"></div>
</form>
</div>
<p></code></p>
<p>Con este código y añadiendole un <a href="http://masquewordpress.com/ejemplos/formulario-dinamico/estilo.css">poco de estilo</a> tendriamos un pequeño formulario como el que muestra la imagen.</p>
<p style="text-align: left;">
<p style="text-align: left;">
<p>Ahora solo queda añadir unas cuantas lineas de JQuery para que funciones:<br />
<code lang="javascript"><br />
$(document).ready(function() {<br />
	//ACA le asigno el evento click a cada boton de la clase bt_plus y llamo a la funcion addField<br />
		$(".bt_plus").each(function (el){<br />
			$(this).bind("click",addField);<br />
									 });<br />
							});</p>
<p>function addField(){<br />
// ID del elemento div quitandole la palabra "div_" de delante. Pasi asi poder aumentar el número. Esta parte no es necesaria pero yo la utilizaba ya que cada campo de mi formulario tenia un autosuggest , así que dejo como seria por si a alguien le hace falta.</p>
<p>var clickID = parseInt($(this).parent('div').attr('id').replace('div_',''));</p>
<p>// Genero el nuevo numero id<br />
var newID = (clickID+1);</p>
<p>// Creo un clon del elemento div que contiene los campos de texto<br />
$newClone = $('#div_'+clickID).clone(true);</p>
<p>//Le asigno el nuevo numero id<br />
$newClone.attr("id",'div_'+newID);</p>
<p>//Asigno nuevo id al primer campo input dentro del div y le borro cualquier valor que tenga asi no copia lo ultimo que hayas escrito.(igual que antes no es necesario tener un id)<br />
$newClone.children("input").eq(0).attr("id",'materiales'+newID).val('');</p>
<p>//Borro el valor del segundo campo input(este caso es el campo de cantidad)<br />
$newClone.children("input").eq(1).val('');</p>
<p>//Asigno nuevo id al boton<br />
$newClone.children("input").eq(2).attr("id",newID)</p>
<p>//Inserto el div clonado y modificado despues del div original<br />
$newClone.insertAfter($('#div_'+clickID));</p>
<p>//Cambio el signo "+" por el signo "-" y le quito el evento addfield<br />
$("#"+clickID).val('-').unbind("click",addField);</p>
<p>//Ahora le asigno el evento delRow para que borre la fial en caso de hacer click<br />
$("#"+clickID).bind("click",delRow);					</p>
<p>}</p>
<p>function delRow() {<br />
// Funcion que destruye el elemento actual una vez echo el click<br />
$(this).parent('div').remove();</p>
<p>}<br />
</code></p>
<p>Como siempre debemos añadir la ultima version de <a href="http://docs.jquery.com/Downloading_jQuery">JQuery</a> y luego nuestro script.<br />
<code lang="html4strict"><br />
<script type="text/javascript" src="jquery-latest.js"></script><br />
<script type="text/javascript" src="jquery.addfield.js"></script><br />
</code></p>
<p style="text-align: left;">
<p style="text-align: left;">
<p>Este mismo ejemplo se puede aplicar en cualquier otro lado, solo es cuestion de jugar un poco. Espero que les haya gustado. Saludoss</p>
<p style="text-align: left;">
<p style="text-align: left;">
<p><a href="http://masquewordpress.com/ejemplos/formulario-dinamico/">Ejemplo Online</a><br />
<a href="http://masquewordpress.com/ejemplos/formulario-dinamico.zip">Descargar Ejemplo</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.masquewordpress.com/anadir-campos-a-un-formulario-dinamicamente-con-jquery/feed/</wfw:commentRss>
		<slash:comments>38</slash:comments>
		</item>
	</channel>
</rss>

