Tengo este código:
Código HTML:
Envia.php
<script>
function valida_envia(){
//valido el nombre
if (document.fvalida.nombre.value.length==0){
alert("Tiene que escribir su nombre")
document.fvalida.nombre.focus()
return 0;
}
}
</script>
<form name="fvalida" action="publica2.php" method="post">
<input name="nombre" type="text" class="descrip">
<input class="publicar" type="submit" value="Siguiente" onclick="valida_envia()">
</form>
Bien, mi problema es que mi pagina es .php, cuando envio el formulario la pagina digamos que se actualiza de
http://localhost/mipagina/envia.php a
http://localhost/mipagina/envia.php?...up3=no&nombre=... y el php que habia en mi web antes (que habia pasado unas variables mediante post) da error, debido a que ha perdido esas variables a actualizar la pagina, estoy buscando la manera de hacerlo sin perder esas variables por la actualización de la página y tambien estoy buscando que la barra de deriecciones no se llene de los campos y valores de mi formulario, ya que es un formulario bastante grande.
Hay alguna posibilidad de hacerlo?
Estuve mirando en un post anterior y vi que se solucionaba cambiando el return 0 por return true, he probado a hacerlo, hasta con false y nada...
EDITO:
He hecho un progreso y es cambiar <input class="publicar" type="submit" value="Siguiente" onclick="valida_envia()"> por type=button, ahora no se me actualiza pero funciona, pero no se como hacer que se envie si esta bien, probé en la función javascript a poner: if...codigo previo... else this.fvalida.submit();
EDITO Y RESUELVO QUE LO HE SOLUCIONADO (lo dejo para futuras búsquedas)
Código HTML:
<script>
function valida_envia(){
//valido el nombre
if (document.fvalida.nombre.value.length==0){
alert("Tiene que escribir su nombre")
document.fvalida.nombre.focus()
return (false);
}else{
document.fvalida.submit(); }
}
</script>
<form name="fvalida" action="publica2.php" method="post">
<input name="nombre" type="text" class="descrip">
<input class="publicar" type="[B]button[/B]" value="Siguiente" onclick="valida_envia()">
</form>