Ver Mensaje Individual
  #10 (permalink)  
Antiguo 16/08/2012, 08:41
909matt
 
Fecha de Ingreso: agosto-2012
Mensajes: 9
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Problema con formulario e innerHTML, PHP y Javascript

Cita:
Iniciado por utan Ver Mensaje
Claro que te funcionaria con el alert, porque estas parando el proceso de redireccion sin embargo php llega hasta la linea donde printea que fue todo un exito...

Si esta pagina php , fue un exito y vas redireccionar entonces colaca antes de hacer la redireccion crea una variable en session y redireccionas a la otra pagina

esta otra pagina testeas si la session de mandar el mail fue un exito, si lo fue entonces lo printeas y listo si no, entonces indica que no funciono y muestra la forma de nuevo.
De nuevo, gracias por intentar ayudarme pero sigue sin funcionar, he probado iniciar sesion y tampoco funciona.

Tal vez es mucho mas simple de lo que yo estoy planteando.

A ver si me explico bien, dentro de wordpress, he hecho una página nueva en la que he escrito mi formulario, lo valido con un archivo javascritp mío, y en el method del formulario lo envio a un archivo contact.php que es el que me da problemas.

Osea, tengo por una parte mi validador.js, por otra mi página de worpdpress con el formulario y en otra el contact.php con el código que puse al iniciar el tema.

Lo único que quiero es que en mi formulario, una vez se haya enviado, salga un mensaje con el texto "enviado..." no quiero ir a otra página, quiero que me devuelva a la página donde tengo el formulario y me escriba eso dentro de un div.

Por ejemplo como en esta página:
http://www.naranjus.com/contacta/

Aquí están utilizando JQuery y sería muy sencillo hacerlo así pero no me gusta como valida el validador de JQuery, quiero usar el mío.

He probado poniendo en el formulario:
<form class="form" action="../contact.php" method="post" onsubmit="return valida_form(this);">

<input type="hidden" id="someVar" value=""/>
<div id="estado"></div>

</form>

Y antes del formulario:
<script>
var envio = document.getElementById("someVar").value;
if (envio = "ok"){
document.getElementById("estado").innerHTML = "enviado";
}
}
</script>

Y en el php:
?>
<script language="javascript" type="text/javascript">
window.location = 'http://wwwww/prueba.php'; document.getElementById("someVar").value = "ok";

</script>
<?php

Así, yo entiendo que al enviarse el formulario, el archivo php cambia el valor del input, y al refrescarse la página, el script evalua si el valor es ok y escribe el html donde yo quiero.
NO FUNCIONA, tengo que poner el dichoso alert.

Como no sé mucho (mas bien poco) de php, me va a explotar la cabeza.
Seguro que es algo muy facil, si sabéis otro método para conseguir lo que yo quiero hacer, os lo agradecería.

Saludos.