Hola a todos soy nuevo en este foro, quisiera exponer aqui mi duda:
Tengo una web en php y algo de AJAX, AJAX estoy utilizando para abrir mis secciones dentro del index.php.
-De esta manera estoy llamando a mis secciones dentro del index.php:
Cita: <a href="#" onClick="cargaContenido ('contacto.php','ladoCentral')">
'ladocentral' viene a ser mi DIV
este es el codigo AJAX, q utilizo:
Código:
function nuevoAjax(){
var xmlhttp=false;
try {
// Creacion del objeto ajax para navegadores diferentes a Explorer
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
// o bien
try {
// Creacion del objet ajax para Explorer
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) {
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}
function cargaContenido (url,capa){
var ajax=nuevoAjax();
capaContenedora = document.getElementById(capa);
/*Creamos y ejecutamos la instancia si el metodo elegido es POST*/
ajax.open ('GET', url, true);
ajax.onreadystatechange = function() {
if (ajax.readyState==1) {
capaContenedora.innerHTML="<img src='includes/download_loader.gif' align='middle'><font style='font-size:12px; font-family:Helvetica,Arial;' > Cargando...</font>";
}
else if (ajax.readyState==4){
if(ajax.status==200)
{
document.getElementById(capa).innerHTML=ajax.responseText;
}
else if(ajax.status==404)
{
capaContenedora.innerHTML = "La direccion no existe";
}
else
{
capaContenedora.innerHTML = "Error: ".ajax.status;
}
}
}
// ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
// ajax.send(valores);
ajax.send(null);
return;
}
La cuestión esta q cuando ejecuto mi formulario (contacto.php) aqui el código:
Código:
<? if (!$HTTP_POST_VARS){ ?>
<form action="contacto.php">
Nombre<input type="text" name="nombre" class="inputfrm"><br>
Email<input type="text" name="mail" class="inputfrm"><br>
Mensaje: <textarea name="mensaje" cols=32 rows=6 class="inputfrm"></textarea>
<input name="reset" type="reset" class="btnfrm" size="10px" value="limpiar" >
<input type="submit" value="enviar" ></div></form>
<? }else{
//dirección de Recepción
$cbo = "[email protected]";
//cuerpo
$cuerpo = "<b>DATOS DE LA PERSONA QUE ENVIA EL MENSAJE</b><br>\n";
$cuerpo .= "Nombre: " . $HTTP_POST_VARS["nombre"] . "\n";
$cuerpo .= "<br>Email: " . $HTTP_POST_VARS["email"] . "\n";
$cuerpo .= "<br><br>Mensaje: "."\n". $HTTP_POST_VARS["mensaje"] . "\n";
/mando el correo...
mail($cbo,"Mensaje web enviado",$cuerpo,$headers);
//gracias echo "Mensaje enviado"; } ?>
...cuando lo uso sin ajax ni nada funciona bien me sale el mensaje de: Mensaje enviado normal, pero cuando el contacto esta dentro del index.php por mediodel AJAX el mensaje de Mensaje enviado aparece fuera del index.php, e intentado varias maneras pero no me sale , e dejado el codigo del contacto.php sin ningun agregado para q me puedan dar una solución LO AGRADECERIA MUCHO