Ver Mensaje Individual
  #14 (permalink)  
Antiguo 30/04/2011, 19:43
Avatar de fekaa11
fekaa11
 
Fecha de Ingreso: abril-2011
Ubicación: Córdoba / Argentina
Mensajes: 115
Antigüedad: 13 años, 1 mes
Puntos: 34
Respuesta: Formulario de inscripcion

Amigo, primero en principal, al declarar la función "bloquear()", tienes que indicar que La variable FORM es igual a document.formulario (nombre del formulario) o document.forms[0] (donde 0 es el índice del formulario) te faltó eso, y además también te faltó en el html la función ONCLICK de cada radio button de name="sexo".

Aquí va el codigo completo, por lo menos a mí, me funciona:
Código HTML:
Ver original
  1. <head><title>Prueba</title>
  2. <script type="text/javascript" src='validar.js'></script>
  3. </head>
  4. <!-- Inicio Formulario de Contacto por Dasumo-->
  5. <div align="center">
  6. <form name="formulario" method="post" action="contacto.php" onSubmit="return Validar(this);">
  7.     <label for="name">Nombre:<br>
  8.     <input id="name" name="name" type="text" size="27"> </label><br><br>
  9.     <label for="apellido">Apellido:<br>
  10.     <input id="apellido" name="apellido" type="text" size="27">
  11.     </label><br><br>
  12.     <label for="email">Correo Electrónico:<br>
  13.     <input id="email" name="email" type="text" size="27"> </label><br><br>
  14. Sexo:<br>
  15. Masculino
  16. <input type="radio" name="sexo" value="M" id="1" onclick="bloquear();">
  17. Femenino
  18. <input type="radio" name="sexo" value="F" id="2" onclick="bloquear();">
  19. <br><br>
  20. <label for="edad">Edad:
  21. <input id="edad" name="edad" type="text" size="1" maxlength="2"> </label><br><br>
  22.  
  23. Usted pertenece a:<br>
  24. A
  25. <input type="radio" name="upa" value="A" disabled><br>
  26. B
  27. <input type="radio" name="upa" value="B" disabled><br>
  28. C
  29. <input type="radio" name="upa" value="C" disabled><br>
  30. D
  31. <input type="radio" name="upa" value="D" disabled><br>
  32. E
  33. <input type="radio" name="upa" value="E" disabled><br><br>
  34.  
  35.     <input type="submit" name="submit" value="Enviar" /><br>
  36. </form>
  37. </div>
  38. <!-- Fin Formulario de contacto -->
  39. </body>
  40. </html>

Validar.js (código javascript)
Cita:
function bloquear(){
var form = document.formulario;
if(form.sexo[0].checked){
form.upa[0].disabled = true;
form.upa[1].disabled = true;
form.upa[2].disabled = false;
form.upa[3].disabled = false;
form.upa[4].disabled = false;
}else if(form.sexo[1].checked){
form.upa[0].disabled = false;
form.upa[1].disabled = false;
form.upa[2].disabled = true;
form.upa[3].disabled = true;
form.upa[4].disabled = false;
}
}
function Validar(f) {
var f = document.formulario;
if (f.name.value=='') {
alert("Por favor escriba su Nombre");
f.name.focus();
return (false);
}
if (f.apellido.value=='') {
alert("Por favor escriba su Apellido");
f.apellido.focus();
return (false);
}
if (f.email.value=='') {
alert("Por favor escriba su dirección de correo electrónico");
f.email.focus();
return (false);
}

var patron = /^[0-9a-zA-Z]+(?:[._][0-9a-zA-Z]+)*@[0-9a-zA-Z]+(?:[._-][0-9a-zA-Z]+)*\.[0-9a-zA-Z]{2,4}$/;
if (!patron.test(f.email.value)){
alert("La dirección de email no es correcta.")
return (false)
}
 
var s="no";
if(f.sexo[1].checked);
for ( var i = 0; i < f.sexo.length; i++ )
{
if (f.sexo[i].checked ){;
 
s= "si";
break;
}
}
if ( s == "no" ){
alert( "Por favor debe seleccionar Masculino o Femenino" ) ;
return(false);
}
 
 
if (f.edad.value=='') {
alert("Por favor instrodusca su edad.");
f.edad.focus();
return (false);
}
 
   
var s="no";
if(f.upa[1].checked);
for ( var i = 0; i < f.upa.length; i++ )
{
if (f.upa[i].checked ){;
 
s= "si";
break;
}
}
if ( s == "no" ){
alert( "Por favor elija una de las opciones." ) ;
return(false);
}
}
Espero haberte ayudado, cualquier duda me avisas. Un saludo !
__________________
Pedir perdón es de hombres inteligentes. Perdonar es de sabios.