Ver Mensaje Individual
  #4 (permalink)  
Antiguo 23/02/2013, 22:28
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Condicion en boton radio

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>titulo</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6.     function habilita(){
  7.     document.form_prueba.e_direccion.disabled = false;
  8.     document.form_prueba.e_email.disabled = true;
  9.     }
  10.     function habilita2(){
  11.     document.form_prueba.e_direccion.disabled = true;
  12.     document.form_prueba.e_email.disabled = false;
  13.     }
  14.  
  15. function validar(){
  16. var radios = document.getElementsByName('f_envio');
  17.     for (var i=0; i < document.form_prueba.f_envio.length; i++){
  18.         if (document.form_prueba.f_envio[i].checked){
  19.         var rad_val = document.form_prueba.f_envio[i].value;
  20.             if(rad_val == "CORREO"){
  21.                 if(document.form_prueba.e_direccion.value == ""){
  22.                 alert('Debes completar el campo correo');
  23.                 return false;
  24.                 }
  25.             }
  26.             if(rad_val == "EMAIL"){
  27.                 if(document.form_prueba.e_email.value == ""){
  28.                 alert('Debes completar el campo email');
  29.                 return false;
  30.                 }
  31.             }
  32.         }
  33.     }
  34. }
  35.  
  36. </script>
  37. </head>
  38. <form name="form_prueba" onsubmit="return validar();">
  39. <input name="f_envio" type="radio" value="CORREO" class="texto" onClick="habilita()" /> Por correo ordinario. <strong>Dirección</strong>
  40. <input name="e_direccion" type="text" class="texto" id="e_direccion" size="25" maxlength="25" disabled />
  41. <input name="f_envio" type="radio" value="EMAIL" class="texto"  onClick="habilita2()" /> Por correo electrónico. <strong>Email</strong>
  42. <input name="e_email" type="text" class="texto" id="e_email" size="25" maxlength="25" disabled />
  43. <input type="submit" />
  44. </form>
  45. </body>
  46. </html>

Observaciones, en tu código sobran los condicionales y el checked
Te falta un input text para email
Ahora tendrías que averiguar como hacerle un trim a los campos de texto y desde ya, cualquier validación que hagas solo con javascript sin hacerla también en el server, es completamente ineficaz

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.