Posts Tagged ajax

Como enviar un formulario via AJAX con JQuery

Posted on July 5, 2009 by Damian4 Comments

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 de una forma super sencilla.

Para empezar necesitamos un formulario. Vamos a usar de ejemplo un formulario de contácto sencillo:

<form id="myForm" action="contacto.php" method="post" style="height:200px;">
    <label>Nombre:</label> <input type="text" name="name" />
    <label>Mensaje:</label> <textarea name="mensaje"></textarea>
    <input type="submit" value="Enviar" /> <div id="ajax_loader"><img id="loader_gif" src="loader.gif" style=" display:none;"/></div>
</form>

Una vez tengamos el codigo HTML del formulario tan solo debemos añadir el plugin y ejecutarlo una vez el DOM este cargado añadiendo las opciones que creamos convenientes.
Hay diferentes gif animados para ajax, si quieren alguno diferente echen un vistazo al último artículo que escribí.
Para consultar las diferente opciones de jquery.form visiten su web.

index.php:

<script src="js/jquery-latest.js" type="text/javascript"></script>
 <script src="js/jquery.form.js" type="text/javascript"></script>

<script type="text/javascript">

        // esperamos que el DOM cargue
        $(document).ready(function() {
            // definimos las opciones del plugin AJAX FORM
            var opciones= {
                               beforeSubmit: mostrarLoader, //funcion que se ejecuta antes de enviar el form
                               success: mostrarRespuesta //funcion que se ejecuta una vez enviado el formulario
            };
             //asignamos el plugin ajaxForm al formulario myForm y le pasamos las opciones
            $('#myForm').ajaxForm(opciones) ;

             //lugar donde defino las funciones que utilizo dentro de "opciones"
             function mostrarLoader(){
                          $(#loader_gif).fadeIn("slow"); //muestro el loader de ajax
             };
             function mostrarRespuesta (responseText){
                           alert("Mensaje enviado: "+responseText);  //responseText es lo que devuelve la página contacto.php. Si en contacto.php hacemos echo "Hola" , la variable responseText = "Hola" . Aca hago un alert con el valor de response text
                          $("#loader_gif").fadeOut("slow"); // Hago desaparecer el loader de ajax
                          $("#ajax_loader").append("<br>Mensaje: "+responseText); // Aca utilizo la función append de JQuery para añadir el responseText  dentro del div "ajax_loader"
             };

        });

</script>

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 JQuery y el plugin de jquery.form, al hacer click en “Enviar” 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 contacto.php de una forma invisible al usuario y una vez que se envie correctamente se va a ejecutar este simple código:

contacto.php:

<?php
if($_POST['mensaje'] != ''){
    echo $_POST['mensaje'];
}
?>

Lo que hacemos aca es un echo del mensaje enviado que aunque para el usuario pasa inadvertido , podremos mostrarlo con “responseText”.

Ver ejemplo
Descargar código

Si quieren ver un ejemplo de un formulario de contacto con AJAX, pueden probar este.

Espero que haya servido de ayuda. Un saludo a todos!!!

VN:F [1.7.0_948]

Tags: , ,

Filed Under: JQuery, Tutoriales

Gif animados para AJAX

Posted on July 5, 2009 by Damian2 Comments

Todos conocemos los famosos gif animados que aparecen cuando una página carga con AJAX.
loader

Ademas de este existen varias formas más y diferentes tamaños, como barras , estrellas, y un sin fin de colores. Pero para que vamos a coleccionar tantos archivos si podemos crearlos de una forma sencilla en 2 simples pasos.

Para eso solo tenemos que ir a http://www.ajaxload.info/ y seleccionar el modelo y color de loader que queremos y despues hacer click en descargar. Y si, es tan sencillo como suena. :D

VN:F [1.7.0_948]

Tags:

Filed Under: Recursos

Acentos y caracteres especiales con Ajax y JQuery

Posted on May 26, 2009 by Damian6 Comments

Unos de mis primeros problemas al usar jquery.forms o $.Ajax era que los acentos ,la ñ , etc no eran ingresados correctamente en la base de datos y por lo tanto no se mostraban correctamente en mis programas y por lo general aparecian como cuadraditos o rombos negros con un signo de interrogación adentro.
Algunos de los caracteres afectados:

á, é, í, ó, ú ,Á, É, Í, Ó, Ú, ñ, Ñ ,º ,ö, Ö, ü, Ü

Una forma simple para solucionar esto es hacer lo siguiente:

En el formulario agregar accept-charset=”utf-8

<form id="formulario" action="index.php" accept-charset="utf-8" method="post">
<input type="input" name="nombre"/>
</form>

Y a la hora de recibir el dato ya sea mediante $_POST o $_GET tenemos que hacer un utf8_decode() y ya estará listo el valor para ingresar en la base de datos.

$usuario=utf8_decode($_POST['nombre`]);

Con este método JQuery ya no me da problemas con los caracteres especiales. Saludos!!!

VN:F [1.7.0_948]

Tags: ,

Filed Under: JQuery

Introducción a AJAX, Javascript, CSS, XHTML

Posted on May 21, 2009 by DamianNo Comments

Hoy les traigo una página que me ayudo mucho en mis comienzos. Estoy hablando de Librosweb, en ella podemos encontrar una serie de PDFs escritos en su mayoria por profesores con los contenidos que imparten en sus cursos.

Los libros son totalmente gratuitos y se pueden leer en la web o descargarlos. La verdad que estan muy bien como complemento y referencia, la mayoria incluye ejemplos y ejercicios para ir practicando a medida que se aprende.

Acá les dejo el listado completo:

Programación web

Introducción a AJAX :

  • Comenzando desde cero y llegando hasta las técnicas más avanzadas.
  • Incluye Google Maps, Prototype, jQuery y decenas de ejemplos.

Empezar a leerlo

Introducción a JavaScript :

  • Creado para diseñadores web sin experiencia en programación.
  • Aprende a manejar eventos, validar formularios y crear otras utilidades comunes.

Empezar a leerlo

Diseño web

Introducción a CSS :

  • Guía completa para aplicar estilos a las páginas web.
  • Incluye las propiedades de CSS 2.1 y decenas de ejemplos.

Empezar a leerlo

CSS avanzado :

  • Técnicas imprescindibles como sustitución de texto, sprites, sombras y transparencias
  • Buenas prácticas y recomendaciones de los mejores diseñadores
  • Frameworks CSS y diseño de páginas con YUI
  • Referencia imprescindible para diseñadores web avanzados

Empezar a leerlo

Referencia de CSS 2.1 :

  • Las 115 propiedades de CSS 2.1 explicadas detalladamente
  • Incluye más de 300 ejemplos originales

Empezar a leerlo

Introducción a XHTML :

  • Guía completa para crear páginas web, con más de 60 ejemplos.
  • Aprende cómo crear páginas web accesibles y que validen.

Empezar a leerlo

VN:F [1.7.0_948]

Tags: , , , ,

Filed Under: Recursos