Lo que pasa es que estoy tratabdo de hacer un loading tipo forosdelweb cuando respondes un tema., al enviar el formulario mi¡uestra el cargando pero luego de eso en vez de cargar el archivo en el div me hace algo como un F5
Codigo ajax:
Código:
var XMLHttpRequestObject = false;
if (window.XMLHttpRequest)
{
XMLHttpRequestObject = new XMLHttpRequest();
} else if (window.ActiveXObject) {
XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
}
function pedirDatos(fuenteDatos, divID)
{
if(XMLHttpRequestObject)
{
//Si es llamado del Registro de Newslleter
if (divID=="newslleter")
{
var txtnombre = document.getElementById('tx_nombre');
var txtemail = document.getElementById('tx_mail');
}
//Si es llamado del Formulario de Contacto
if (divID=="form")
{
var txtrut = document.getElementById('tx_rut');
var txtnombres = document.getElementById('tx_nombres');
var txtapellidos = document.getElementById('tx_apellidos');
var txtdireccion = document.getElementById('tx_direccion');
var slsector = document.getElementById('sl_sector');
var txtemail = document.getElementById('tx_email');
var txttelefono = document.getElementById('tx_telefono');
var txtfax = document.getElementById('tx_fax');
var sltippat = document.getElementById('sl_tippat');
var txtubipat = document.getElementById('tx_ubipat');
var txtpatente = document.getElementById('tx_patente');
var txtobs = document.getElementById('tx_obs');
var txtcopia = document.getElementById('tx_copia');
var txtnewslleter = document.getElementById('tx_newslleter');
var txtcargado = document.getElementById('tx_cargado');
}
var obj = document.getElementById(divID);
obj = document.getElementById(divID);
XMLHttpRequestObject.open("POST", fuenteDatos);
XMLHttpRequestObject.onreadystatechange = function()
{
if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200)
{
obj.innerHTML = XMLHttpRequestObject.responseText;
}else{
var loading = document.getElementById('cargando');
loading = document.getElementById('cargando');
loading.innerHTML = '<img src="img/gif/gl-loadingchico.gif" align="absmiddle"/> Validando Formulario...';
}
}
//Si es llamado del Registro de Newslleter
if (divID=="newslleter")
{
XMLHttpRequestObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
XMLHttpRequestObject.send("txtnombre="+txtnombre.value+"&txtemail="+txtemail.value);
}
if (divID=="form")
{
XMLHttpRequestObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
XMLHttpRequestObject.send("txtrut="+txtrut.value+"&txtnombres="+txtnombres.value+"&txtapellidos="+txtapellidos.value+"&txtdireccion="+txtdireccion.value+"&slsector="+slsector.value+"&txtemail="+txtemail.value+"&txttelefono="+txttelefono.value+"&txtfax="+txtfax.value+"&sltippat="+sltippat.value+"&txtpatente="+txtpatente.value+"&txtobs="+txtobs.value+"&txtcargado="+txtcargado.value+"&txtcopia="+txtcopia.value+"&txtnewslleter="+txtnewslleter.value);
}else{
XMLHttpRequestObject.send(null);
}
}
}
Codigo html:
Código HTML:
<div id="form">
<? include ("contacto.php");?>
</div>
Formulario:
Código HTML:
<form name="formu" method="POST" onsubmit="pedirDatos('contacto.php','form');" >
... blablabal
<form>
la url del sitio para que puedan ver el funcionamiento es la siguiente:
http://www.munivina.cl/e-munivina/in...=frm_precarios
Se supone que si ponen el rut y el nombre y envian la solicitud deberia volver a traer los datos...(es para probar solamente)