Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/04/2014, 11:59
Avatar de legomolina
legomolina
 
Fecha de Ingreso: junio-2011
Ubicación: Valencia
Mensajes: 165
Antigüedad: 12 años, 10 meses
Puntos: 3
$.ajax(); no responde

Buenas.
Necesito que una página inserte unos datos de un formulario en una BD MySql pero sin que se "recargue" la página, por eso recurrí a la librería jQuery, especificamente a $.ajax();
La cosa es que sigo las instrucciones pero no va. Aquí dejo el código:
Código Javascript:
Ver original
  1. function insertar() {
  2.         var datos_insertar={};
  3.         for (i=0; i<nombrecol.length; i++) {
  4.             datos_insertar[nombrecol[i]]=document.getElementById(nombrecol[i]).value;
  5.         }
  6.         alert('Se envia');
  7.         var request = $.ajax({
  8.           url: "insertar.php",
  9.           type: "POST",
  10.           data: datos_insertar,
  11.         });
  12.          
  13.         request.done(function( msg ) {
  14.           alert( msg );
  15.         });
  16.          
  17.         request.fail(function( jqXHR, textStatus ) {
  18.           alert( "Request failed: " + textStatus );
  19.         });
  20.     }
Y el form:
Código HTML:
<form class="formulario_clientes" id="formulario_clientes" onSubmit="insertar()">
                <label for="codigo">Codigo: </label><input name="codigo" id="codigo" value="" type="text" size="3" disabled><br>
                <label for="nombre">Nombre: </label><input  name="nombre" id="nombre" value="" type="text" size="77" disabled><br>
                <label for="domicilio">Domicilio: </label><input name="domicilio" id="domicilio" value="" size="77" type="text" disabled><br>
                <label for="cp">Código Postal: </label><input name="cp" id="cp" value="" size="5" type="text" disabled required><br>
				<label for="provincia">Provincia: </label><input name="provincia" id="provincia" value="" size="77" type="text" disabled><br>
            	<label for="dni">DNI: </label><input name="dni" id="dni" value="" size="10" type="text" disabled required><br>
            	<label for="telefono">Teléfono: </label><input name="telefono" id="telefono" value="" size="10" type="text" disabled>
            	<label style="width:50px;" for="movil">Móvil: </label><input name="movil" id="movil" value="" size="10" type="text" disabled>
            	<label style="width:50px;" for="fax">Fax: </label><input name="fax" id="fax" value="" size="10" type="text" disabled><br>
            	<label for="email">Email: </label><input name="email" id="email" value="" size="77" type="text" disabled><br>
            	<label for="observaciones">Observaciones: </label><textarea name="observaciones" id="observaciones" cols="59" disabled></textarea><br>
            	<button type="submit">Enviar</button>
            </form> 
Y la página insertar.php que lo único que hace es introducir los valores del form en la bd y mostrar el msg de si se ha hecho correctamente o no:
Código PHP:
<?php
include("../Conexiones/conexion.php");

$nombre=$_POST['nombre'];
$cod=$_POST['codigo'];

$sql="INSERT INTO prueba (nom,cod) values('".$nombre."','".$cod."')";
$res=$db->query($sql);

if(
$res)
    echo 
'Accion exitosa';
else
    echo 
"Mal";    
?>
Estoy muy seguro de que es una tontería pero no la veo.
Atentamente Cristian Molina

Última edición por legomolina; 07/04/2014 a las 08:44