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 originalfunction insertar() {
var datos_insertar={};
for (i=0; i<nombrecol.length; i++) {
datos_insertar[nombrecol[i]]=document.getElementById(nombrecol[i]).value;
}
alert('Se envia');
var request = $.ajax({
url: "insertar.php",
type: "POST",
data: datos_insertar,
});
request.done(function( msg ) {
alert( msg );
});
request.fail(function( jqXHR, textStatus ) {
alert( "Request failed: " + textStatus );
});
}
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