Hola!!
Bueno espero poder explicar bien mi problema.
Me estoy iniciando en el desarrollo de paginas web, y para empezar estoy haciendo una pagina de prueba donde tengo los siguietens archivos en mi proyecto:
1 - index.html ---> que tiene un menu de opciones una cabecera de pagina y un pie de pagina.
2- Un miJavascript.js --> donde tengo una funcion ajax que es la siguiente:
function recargar(str)
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("cuadroDeContenido").inner HTML=xmlhttp.responseText;
}
}
xmlhttp.open("POST",str+".php",true);
xmlhttp.send();
}
Aclaracion: en mi html tengo un div "cuadroDeContenido" donde recargo con ajax la pagina cuando se hace un click sobre alguna opcion del menu de la pagina html. STR, es el nombre del php que se ejecuta tiene que ejecutar segun la opcion donde se hizo click, es decir que tengo un archivo php por cada opcion del menu.
Aca viene mi problema: en le menu de opciones tengo un opcion que es Contacto, cuando se hace un click sobre la opcion contacto se ejecuta lo siguiente:
en el html:
<li><a href="#"onclick="javascript:recargar('contacto');" >Contacto</a></li>
Recargar es la funcion javascript que escribe anterirmente.
y por ultimo contacto.php que tiene lo siguiente -->
<?php
echo "
<form id='formContacto' action='enviarMail.php' method='post'>
<fieldset>
<legend> Enviar un Mail: </legend>
Nombre :<input type='text' name='nombre' size='40' value='Su Nombre' /><br>
Apllido:<input type='text' name='apellido' size='40' value='Su Apellido' /><br>
E-mail :<input type='text' name='email' size='40' value='Su email' /><br>
Mensaje:<br><textarea rows='10' cols='37' name='mensaje'>Escriba su mensaje para contactanos. Le responderemos a la brevedad.</textarea> <br>
<input type='submit' value='Enviar'>
<input type='reset' value='Limpiar'>
</fieldset>
</form>";
?>
Como veran cuando se envia el formulario tendria que porcesar los datos y enviarlos a un mail por ejemplo: miMail, esto lo hago en enviarMail.php que tiene los siguiente:
<?php
$to = "[email protected]";
$subject = "Asunto: " . $_POST["nombre"] . "; " . $_POST["apellido"] . "; " . $_POST["email"];
$message = $_POST["mensaje"];
$from = $_POST["email"];
$headers = "From:" . $_POST["email"];
mail($to,$subject,$message,$headers);
echo "<scritp>recargar('envioCorrecto');</script>";
?>
Bueno esto hace que el mail llegue pero vacio, no me ejecuta la fucnion recargar(), y cuando reemplazo lo que esta en el echo "<scritp>recargar('envioCorrecto');</script>"; por echo "Envio correcto" funciona perfectamente pero el tema es que eso me redirecciona a una pagina nueva y mi intencion es que recargue la pagina con el menu, cabecera y pie de pagina en mi cuadro de contenido.
Nose si alguien va a leer todo esto, espero que me puedan dar una ayudita, por lo menos lo intente. saludos!