Cita de: gAb1 en 23 Mayo 2016, 00:42 AM
JQuery tiene una función llamada serializeArray que guarda el formulario en un array con el nombre del elemento y el valor. Luego simplemente con la función post envias el array y puedes actualizar el div con la respuesta del servidor.
ok me aclarare por si acaso: Tengo dos .php 1 inserta los elemntos en la base de datos y el otro los carga en una pagina y los actualizo con ajax, lo quye quiero es con ajax enviar los datos a la base de datos sin tener que actualizar la pagina
Ajax:
Código (javascript) [Seleccionar]
function objetoAjax(){
var xmlhttp=false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}
//Función para recoger los datos del formulario y enviarlos por post
function enviarDatosEmpleado(){
divResultado = document.getElementById('contenedor');
mensaje=document.from.mensaje.value;
ajax=objetoAjax();
ajax.open("POST", "ingresar.php",true);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
divResultado.innerHTML = ajax.responseText
LimpiarCampos();
}
}
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
ajax.send("mensaje="+mensaje);
}
function LimpiarCampos() {
document.form.mensaje.value="";
}
ingresar.php
Código (php) [Seleccionar]
session_start();
require("connect_db.php");
$nombre = $_SESSION['usuario'];
$mensaje = $_POST['mensaje'];
mysql_query("INSERT INTO chat VALUES('$nombre','$mensaje')");
mysql_close($link);
cargar.php
Código (php) [Seleccionar]
<?php
session_start();
require("connect_db2.php");
$colo = "#320EF8";
function mostrarDatos($resultados ,$color) {
if($resultados !=NULL){
echo "<p style='display: inline; color: $color; font-size: 120%; margin-left: 8px;'>".$resultados['nombre']."</p>";
echo ": ";
echo $resultados['mensaje'];
echo "</br>";
echo "-------------------------------------------------------------------";
echo "</br>";
} else {
echo "<br/>No hay mas datos<br/>";
}
}
$result = mysqli_query($link,"SELECT * FROM chat");
while($fila = mysqli_fetch_array($result)) {
mostrarDatos($fila, $colo);
}
mysqli_free_result($result);
mysqli_close($link);
pagina:
Código (html4strict) [Seleccionar]
<html>
<head>
<script language="javascript" type="text/javascript" src="enviar.js"></script>
<link rel="stylesheet" type="text/css" href="chat.css">
<link rel="stylesheet" type="text/css" href="inicio.css">
<script src="ajax.js"></script>
</head>
<body background="fondos/fondo-inicio.jpg"">
<ul>
<li><a class="active" href="inicio.php">Inicio</a></li>
<li><a href="paginaad.php">Administracion</a></li>
<li><a href="comentarios.php">Reporta</a></li>
<ul style="float:right;list-style-type:none;">
<li><a href="#about">Sobre mi</a></li>
<li><a href="salir.php">Logout</a></li>
</ul>
</ul>
<div id="contenedor">
</div>
<form action="" method="POST" name="form" onsubmit="enviarDatosEmpleado(); return false">
<input type="text" id="mensaje" name="mensaje">
<input type="submit" id="boton" value="Enviar">
</form>
<script >
</script>
</body>
</html>