Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/04/2009, 16:27
Kadhar
 
Fecha de Ingreso: enero-2009
Mensajes: 5
Antigüedad: 16 años
Puntos: 0
Problema con "document.formulario.submit()"

Hola, mi problema es con una funcion de validacion del formulario, que cuando llega a la parte de window.document.formulario.submit(); no lo envia. Os pongo el codigo y aclaro que lo de mail_to esta asi para que no me salte el filtro anti-spam, en el codigo original esta bien:
Código HTML:
<html>

<head>

<script type="text/javascript">
<!--
function text(a)
{
	if(a == 1){
		window.document.formulario.Texto.value = "Déjanos tu opinión sobre la página aquí";
	}
	if(a == 2){
		window.document.formulario.Texto.value = "Expon tus quejas aquí";
	}
	if(a == 3){
		window.document.formulario.Texto.value = "Si tienes alguna duda no dudes en ponerla aquí";
	}
}

function mail(texto){

    var mailres = true;            
    var cadena = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ1234567890@._-";
    
    var arroba = texto.indexOf("@",0);
    if ((texto.lastIndexOf("@")) != arroba) arroba = -1;
    
    var punto = texto.lastIndexOf(".");
                
     for (var contador = 0 ; contador < texto.length ; contador++){
        if (cadena.indexOf(texto.substr(contador, 1),0) == -1){
            mailres = false;
            break;
     }
    }

    if ((arroba > 1) && (arroba + 1 < punto) && (punto + 1 < (texto.length)) && (mailres == true) && (texto.indexOf("..",0) == -1))
     mailres = true;
    else
     mailres = false;
                
    return mailres;
}

function validarForm()
{
	if(window.document.formulario.Nombre.value == ''){
		window.alert("Debes introducir tu nombre");
		window.document.formulario.Nombre.focus();
		return 0;
	}
	email = window.document.formulario.Email.value;
	mailCorrecto = mail(email);
	if(!mailCorrecto){
		window.alert("Debes introducir un email válido");
		window.document.formulario.Email.focus();
		return 0;
	}
	if(window.document.formulario.Texto.value == ''){
		window.alert("Debes introducir algo en el área de texto");
		window.document.formulario.Nombre.focus();
		return 0;
	}
	window.alert("Formulario enviado con éxito");
	window.document.formulario.submit();
}
//-->
</script>
</head>

<body>
<div id="formulario">
<H1> Formulario de Contacto </H1>
<br><br>

<form name="formulario" action="mail_to:mi_email" method="post" enctype="text/plain">
<br>

<label>Nombre: &nbsp;<input type="text" name="Nombre" size="30" maxlenght="25"></label>
<br>
<label>Email: &nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="Email" size="50" maxlenght="45"></label>
<br><br><br>

<!-- Podriamos poner en java la opcion de decidir si van a poner una opinion, una queja, una duda...
y según lo que elijan que salga una caja de texto diferente-->
Seleccione una opci&oacute;n:
<br>
<input type="radio" name="Tipo" value="opinion" onClick="text(1)"> Opini&oacute;n
<br>
<input type="radio" name="Tipo" value="queja" onClick="text(2)"> Queja
<br>
<input type="radio" name="Tipo" value="duda" onClick="text(3)"> Duda
<br><br>
<br>
<textarea name="Texto" rows="13" cols="75" wrap="soft"></textarea>
<br><br><br>
<input type="button" value="Enviar" onClick="validarForm()"><input type="button" value="Borrar" onClick="window.document.formulario.reset()">

</form>
</div>
</body>

</html> 
Muchas gracias por la ayuda!