Ver Mensaje Individual
  #3 (permalink)  
Antiguo 11/02/2013, 00:55
Avatar de berkeleyPunk
berkeleyPunk
 
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 9 meses
Puntos: 22
Respuesta: Cómo evitar reenviar un formulario?

Cita:
Iniciado por emprear Ver Mensaje
Y que tal si ponés el html completo.
cual es la otra función?
como llamás las funciones?
que querés evitar, el envío o el reenvío?
Saludos
He aquí el script completo:
<script language="javascript" type="text/javascript">

// Aquí la función que valida el formulario (sólo se asegura que el usuario no mande formulario vacío).
function validar()
{
nombre = document.forms[0].elements[0].value;
edad = document.forms[0].elements[1].value;
sexoH = document.forms[0].elements[2].checked;
sexoM = document.forms[0].elements[3].checked;

if (nombre == "")
{
document.getElementById("error1").style.visibility = "visible";
return false;
}
else document.getElementById("error1").style.visibility = "hidden";
if (edad == "")
{
document.getElementById("error2").style.visibility = "visible";
return false;
}
else document.getElementById("error2").style.visibility = "hidden";
if (sexoH == false && sexoM == false)
{
document.getElementById("error3").style.visibility = "visible";
return false;
}
else
{
document.getElementById("error3").style.visibility = "hidden";
}
evitarReenvio();
}
// Aquí la función de evitar reenvío.
var envios = 0;
function evitarReenvio()
{
if (envios == 0)
{
envios++;
alert("En este momento envías el formulario");
return true;
}
else
{
alert("Tu formulario ya ha sido enviado\nGracias");
return false; // <---- Y este RETURN FALSE no funciona, no cancela el reenvío!
}
}
</script>

Y aquí el HTML:

<form action="mailto:[email protected]" method="post" enctype="text/plain" onsubmit="return validar()">
<b>Nombre</b><br />
<input type="text" />
<b id="error1">El campo no puede ir vacío</b><br /><br />

<b>Edad</b><br />
<input type="text" />
<b id="error2">El campo no puede ir vacío</b><br /><br />

<b>Sexo</b><br />
<input type="radio" name="bola" />
<input type="radio" name="bola" />
<b id="error3">Debes elejir una opción</b>
<br />
<br />
<br />
<input type="reset" />
<input type="submit" />
</form>