{"id":2377,"date":"2012-03-22T18:51:44","date_gmt":"2012-03-22T18:51:44","guid":{"rendered":"https:\/\/www.jose-aguilar.com\/blog\/?p=2377"},"modified":"2019-03-05T17:32:39","modified_gmt":"2019-03-05T17:32:39","slug":"mostrar-formulario-oculto-y-precesar-con-ajax","status":"publish","type":"post","link":"https:\/\/www.jose-aguilar.com\/blog\/mostrar-formulario-oculto-y-precesar-con-ajax\/","title":{"rendered":"Mostrar formulario oculto y precesar con ajax"},"content":{"rendered":"<p>En este art\u00edculo vamos a explicar con detalle dos detalles que podr\u00edan incluirse en la mayor\u00eda de nuestras p\u00e1ginas Web.<\/p>\n<p>Por un lado tendremos un formulario oculto que mostraremos mediante un link utilizando jQuery con los m\u00e9todos hide() y show() y, por otro, el procesado de la informaci\u00f3n con jQuery y Ajax + PHP.<\/p>\n<p>Como siempre que vamos a trabajar con jQuery, necesitaremos incluir en el &lt;head&gt; de nuestra p\u00e1gina la librer\u00eda adem\u00e1s de los scripts necesarios.<\/p>\n<pre>&lt;script type=\"text\/javascript\"&gt;\r\n$(document).ready(function(){\r\n\u00a0 $(\"#hide\").click(function(){\r\n\u00a0\u00a0\u00a0 $(\"#element\").hide();\r\n\u00a0 });\r\n\u00a0 $(\"#show\").click(function(){\r\n\u00a0\u00a0\u00a0 $(\"#element\").show();\r\n\u00a0 });\r\n});\r\n&lt;\/script&gt;<\/pre>\n<p>El c\u00f3digo anterior es el que se encarga de mostrar y ocultar el formulario utilizando las funciones hide() para ocultar y show() para mostrar el contenido de un contenedor con id=\u00bbelement\u00bb que de entrada estar\u00e1 oculto.<\/p>\n<p>Y para procesar el formulario:<\/p>\n<pre>&lt;script type=\"text\/javascript\"&gt;\r\n\r\n$(document).ready(function() {\r\n\r\n\u00a0\u00a0\u00a0 $(\"#enviar-btn\").click(function() {\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 var name = $(\"input#name\").val();\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 var message = $(\"textarea#message\").val();\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 var dataString = 'name=' + name + '&amp;message=' + message;\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 $.ajax({\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 type: \"POST\",\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 url: \"addmessage.php\",\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 data: dataString,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 success: function() {\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0$(\"#element\").hide();\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 $('#newmessage').append('&lt;h2&gt;Tu informaci\u00f3n ha sido recibida correctamente!&lt;\/h2&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;Nombre:&lt;\/td&gt;&lt;td&gt;'+name+'&lt;\/td&gt;&lt;\/tr&gt;&lt;tr&gt;&lt;td&gt;Mensaje:&lt;\/td&gt;&lt;td&gt;'+message+'&lt;\/td&gt;&lt;\/tr&gt;&lt;\/table&gt;');\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 });\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 return false;\r\n\u00a0\u00a0\u00a0 });\r\n});\r\n&lt;\/script&gt;<\/pre>\n<p>La explicaci\u00f3n del c\u00f3digo anterior es simple, tras pulsar el bot\u00f3n con id=\u00bbenviar-btn\u00bb, recogemos los datos del formulario para procesarlos en el archivo \u00abaddmessage.php\u00bb que recoger\u00e1 los datos mediante el m\u00e9todo POST para enviarlos por correo o guardarlos en una base de datos o para lo que te interese.<\/p>\n<p>Al finalizar el proceso, informamos mediante el success de jQuery que la informaci\u00f3n se ha recibido correctamente y mostramos los datos recibidos.<\/p>\n<p>En nuestro &lt;body&gt; tendremos algo como lo siguiente:<\/p>\n<pre>&lt;a href=\"#\" id=\"show\"&gt;Mostrar&lt;\/a&gt;\r\n&lt;div id=\"element\" style=\"display: none;\"&gt;\r\n\u00a0\u00a0 &lt;div id=\"close\"&gt;&lt;a href=\"#\" id=\"hide\"&gt;cerrar&lt;\/a&gt;&lt;\/div&gt;\r\n\u00a0\u00a0 &lt;form method=\"post\" action=\"\"&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Nombre:&lt;br\/&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;input type=\"text\" id=\"name\" name=\"name\" size=\"40\" \/&gt;&lt;br\/&gt;&lt;br\/&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Mensaje:&lt;br\/&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;textarea name=\"message\" id=\"message\" rows=\"6\" cols=\"40\"&gt;&lt;\/textarea&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;br\/&gt;&lt;br\/&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;div style=\"margin-left: 376px;\"&gt;&lt;input name=\"submit\" type=\"submit\" value=\"enviar\" id=\"enviar-btn\" \/&gt;&lt;\/div&gt;\r\n\u00a0\u00a0\u00a0 &lt;\/form&gt;\r\n&lt;\/div&gt;<\/pre>\n<p>Tenemos el link que abrir\u00e1 el formulario y dentro del formulario tendremos otro link que lo cerrar\u00e1 y un bot\u00f3n para enviar la informaci\u00f3n.<\/p>\n<p>Gracias a la tecnolog\u00eda Ajax la informaci\u00f3n se puede enviar y procesar sin necesidad de recargar toda la p\u00e1gina. En el ejemplo en funcionamiento no se nota mucho el efecto pero si estuvieramos en una p\u00e1gina con mucho contenido, podr\u00eda ser un kaos si esta informaci\u00f3n tiene que ser enviada al servidor para ser procesada.<\/p>\n<p><a href=\"https:\/\/www.jose-aguilar.com\/scripts\/jquery\/form-hidden-ajax\/\" target=\"_blank\" rel=\"noopener noreferrer\">Ver ejemplo en funcionamiento<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En este art\u00edculo vamos a explicar con detalle dos detalles que podr\u00edan incluirse en la mayor\u00eda de nuestras p\u00e1ginas Web. Por un lado tendremos un formulario oculto que mostraremos mediante un link utilizando jQuery con los m\u00e9todos hide() y show() y, por otro, el procesado de la informaci\u00f3n con jQuery y Ajax + PHP. Como [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":4280,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[31,12,5],"tags":[74,84,41],"class_list":["post-2377","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ajax","category-html","category-jquery","tag-contenedores","tag-formularios","tag-links"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Mostrar formulario oculto y precesar con ajax - Jose Aguilar Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mostrar formulario oculto y precesar con ajax - Jose Aguilar Blog\" \/>\n<meta property=\"og:description\" content=\"En este art\u00edculo vamos a explicar con detalle dos detalles que podr\u00edan incluirse en la mayor\u00eda de nuestras p\u00e1ginas Web. Por un lado tendremos un formulario oculto que mostraremos mediante un link utilizando jQuery con los m\u00e9todos hide() y show() y, por otro, el procesado de la informaci\u00f3n con jQuery y Ajax + PHP. Como [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.jose-aguilar.com\/blog\/mostrar-formulario-oculto-y-precesar-con-ajax\/\" \/>\n<meta property=\"og:site_name\" content=\"Jose Aguilar Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/joseaguilarblog\" \/>\n<meta property=\"article:published_time\" content=\"2012-03-22T18:51:44+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-03-05T17:32:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2012\/03\/jquery7.png\" \/>\n\t<meta property=\"og:image:width\" content=\"256\" \/>\n\t<meta property=\"og:image:height\" content=\"256\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Jose Aguilar\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@JoseAguilarBlog\" \/>\n<meta name=\"twitter:site\" content=\"@JoseAguilarBlog\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jose Aguilar\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/mostrar-formulario-oculto-y-precesar-con-ajax\/\",\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/mostrar-formulario-oculto-y-precesar-con-ajax\/\",\"name\":\"Mostrar formulario oculto y precesar con ajax - Jose Aguilar Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/mostrar-formulario-oculto-y-precesar-con-ajax\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/mostrar-formulario-oculto-y-precesar-con-ajax\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2012\/03\/jquery7.png\",\"datePublished\":\"2012-03-22T18:51:44+00:00\",\"dateModified\":\"2019-03-05T17:32:39+00:00\",\"author\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/mostrar-formulario-oculto-y-precesar-con-ajax\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.jose-aguilar.com\/blog\/mostrar-formulario-oculto-y-precesar-con-ajax\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/mostrar-formulario-oculto-y-precesar-con-ajax\/#primaryimage\",\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2012\/03\/jquery7.png\",\"contentUrl\":\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2012\/03\/jquery7.png\",\"width\":256,\"height\":256},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/mostrar-formulario-oculto-y-precesar-con-ajax\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/www.jose-aguilar.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mostrar formulario oculto y precesar con ajax\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#website\",\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/\",\"name\":\"Jose Aguilar Blog\",\"description\":\"Desarrollo Web con PrestaShop, WordPress, PHP, jQuery y Ajax\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.jose-aguilar.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11\",\"name\":\"Jose Aguilar\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g\",\"caption\":\"Jose Aguilar\"},\"description\":\"Director ejecutivo y tecnol\u00f3gico en JA Modules. Experto programador PrestaShop y Experto programador WordPress.\",\"sameAs\":[\"https:\/\/plus.google.com\/114357189801512615537\"],\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/author\/josea902\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Mostrar formulario oculto y precesar con ajax - Jose Aguilar Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"es_ES","og_type":"article","og_title":"Mostrar formulario oculto y precesar con ajax - Jose Aguilar Blog","og_description":"En este art\u00edculo vamos a explicar con detalle dos detalles que podr\u00edan incluirse en la mayor\u00eda de nuestras p\u00e1ginas Web. Por un lado tendremos un formulario oculto que mostraremos mediante un link utilizando jQuery con los m\u00e9todos hide() y show() y, por otro, el procesado de la informaci\u00f3n con jQuery y Ajax + PHP. Como [&hellip;]","og_url":"https:\/\/www.jose-aguilar.com\/blog\/mostrar-formulario-oculto-y-precesar-con-ajax\/","og_site_name":"Jose Aguilar Blog","article_publisher":"https:\/\/www.facebook.com\/joseaguilarblog","article_published_time":"2012-03-22T18:51:44+00:00","article_modified_time":"2019-03-05T17:32:39+00:00","og_image":[{"width":256,"height":256,"url":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2012\/03\/jquery7.png","type":"image\/png"}],"author":"Jose Aguilar","twitter_card":"summary_large_image","twitter_creator":"@JoseAguilarBlog","twitter_site":"@JoseAguilarBlog","twitter_misc":{"Escrito por":"Jose Aguilar","Tiempo de lectura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.jose-aguilar.com\/blog\/mostrar-formulario-oculto-y-precesar-con-ajax\/","url":"https:\/\/www.jose-aguilar.com\/blog\/mostrar-formulario-oculto-y-precesar-con-ajax\/","name":"Mostrar formulario oculto y precesar con ajax - Jose Aguilar Blog","isPartOf":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/mostrar-formulario-oculto-y-precesar-con-ajax\/#primaryimage"},"image":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/mostrar-formulario-oculto-y-precesar-con-ajax\/#primaryimage"},"thumbnailUrl":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2012\/03\/jquery7.png","datePublished":"2012-03-22T18:51:44+00:00","dateModified":"2019-03-05T17:32:39+00:00","author":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11"},"breadcrumb":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/mostrar-formulario-oculto-y-precesar-con-ajax\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.jose-aguilar.com\/blog\/mostrar-formulario-oculto-y-precesar-con-ajax\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.jose-aguilar.com\/blog\/mostrar-formulario-oculto-y-precesar-con-ajax\/#primaryimage","url":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2012\/03\/jquery7.png","contentUrl":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2012\/03\/jquery7.png","width":256,"height":256},{"@type":"BreadcrumbList","@id":"https:\/\/www.jose-aguilar.com\/blog\/mostrar-formulario-oculto-y-precesar-con-ajax\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/www.jose-aguilar.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Mostrar formulario oculto y precesar con ajax"}]},{"@type":"WebSite","@id":"https:\/\/www.jose-aguilar.com\/blog\/#website","url":"https:\/\/www.jose-aguilar.com\/blog\/","name":"Jose Aguilar Blog","description":"Desarrollo Web con PrestaShop, WordPress, PHP, jQuery y Ajax","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.jose-aguilar.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11","name":"Jose Aguilar","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g","caption":"Jose Aguilar"},"description":"Director ejecutivo y tecnol\u00f3gico en JA Modules. Experto programador PrestaShop y Experto programador WordPress.","sameAs":["https:\/\/plus.google.com\/114357189801512615537"],"url":"https:\/\/www.jose-aguilar.com\/blog\/author\/josea902\/"}]}},"_links":{"self":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/posts\/2377","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/comments?post=2377"}],"version-history":[{"count":0,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/posts\/2377\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/media\/4280"}],"wp:attachment":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/media?parent=2377"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/categories?post=2377"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/tags?post=2377"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}