Foros del Web » Programando para Internet » Javascript »

Duda de "document.getElementById"

Estas en el tema de Duda de "document.getElementById" en el foro de Javascript en Foros del Web. Tengo problemas con el siguiente código, no funciona al 100%. En la parte del script, no funciona "document.getElementById('ifNo').style.visibil ity = 'collapse';" cuando se selecciona el ...
  #1 (permalink)  
Antiguo 21/11/2012, 13:55
 
Fecha de Ingreso: noviembre-2012
Mensajes: 1
Antigüedad: 11 años, 5 meses
Puntos: 0
Pregunta Duda de "document.getElementById"

Tengo problemas con el siguiente código, no funciona al 100%. En la parte del script, no funciona "document.getElementById('ifNo').style.visibil ity = 'collapse';" cuando se selecciona el "No"
Saludos!

Código HTML:
<html>
<head>
<meta http-equiv="content-language" content="es">

<title>Alta de alumnos.</title>

</head>
<body>

<script language="JavaScript">
function yesnoCheck() {
    if (document.getElementById('yesCheck').checked)  {
        document.getElementById('ifYes').style.visibility = 'visible';
        document.getElementById('ifNo').style.visibility = 'collapse';
    }
    else
        document.getElementById('ifNo').style.visibility = 'visible';
        document.getElementById('ifYes').style.visibility = 'collapse';
}
</script>

<li><label for="Proceso">Compañia:</label><ul>
<li><input class="iradio" type="radio" checked="checked" onclick="javascript:yesnoCheck();" name="yesno" id="yesCheck">
<label for="Proceso2" class="ilabel">Si</label></li>
<li><input class="iradio" type="radio" onclick="javascript:yesnoCheck();" name="yesno" id="noCheck">
<label for="Proceso3" class="ilabel">No</label></li>
</ul></li>


<div id="ifYes" style="visibility:visible">
<li><label for="ficha">N° Ficha:</label><input class="itext" type="text" name="ficha" id="ficha" /></li>
</div>

<div id="ifNo" style="visibility:collapse">
<li><label for="curp">CURP:</label><input class="itext" type="text" name="curp" id="curp" /></li>
</div>

</body>

</html> 
  #2 (permalink)  
Antiguo 21/11/2012, 22:19
Avatar de Albuss  
Fecha de Ingreso: enero-2012
Ubicación: Coruña
Mensajes: 475
Antigüedad: 12 años, 3 meses
Puntos: 30
Respuesta: Duda de "document.getElementById"

Ese id ya lo tienes en collapse en el body.
  #3 (permalink)  
Antiguo 22/11/2012, 05:53
Avatar de rosonator  
Fecha de Ingreso: noviembre-2012
Ubicación: Bilbao
Mensajes: 49
Antigüedad: 11 años, 6 meses
Puntos: 7
Respuesta: Duda de "document.getElementById"

Creo que collapse es solo para borrar <tr> y <td> en tablas. Prueba a usar .visibility = "hidden".

Cita:
Iniciado por Albuss Ver Mensaje
Ese id ya lo tienes en collapse en el body.
Da igual, no es problemático, además llama a la función en el onclick, es decir, tanto haciendo checked como quitándolo, así que lo necesitará por si se dedica a reactivar y redesactivar.


PD: De todas formas, ejecuta tus códigos en Chrome y en Inspeccionar Elemento tienes una consola que te acerca bastante al error.

Última edición por rosonator; 22/11/2012 a las 06:00
  #4 (permalink)  
Antiguo 22/11/2012, 06:23
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Duda de "document.getElementById"

Estás haciendola complicada, y tu html está muy sucio
Si definis los id en los radio, aprovechá estos para establecer la condición, si querés dar formato de lista a los inputs, ahorrate los divs, si bien collapse actuará como hidden, lo correcto es hidden, uso del atributo for en los label incorrecto, debe referirse a un id, uso del pseudoprotocolo javascript en los evento innecesario y redundante.
Urgente a los manuales compañero
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. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  5. <title>Alta de alumnos.</title>
  6. <script type='text/javascript'>
  7. function yesnoCheck(radio) {
  8.     if(radio.id == "yesCheck"){
  9.     document.getElementById('ifYes').style.visibility = 'visible';
  10.     document.getElementById('ifNo').style.visibility = 'hidden';
  11.     }else{
  12.     document.getElementById('ifYes').style.visibility = 'hidden';
  13.     document.getElementById('ifNo').style.visibility = 'visible';
  14.     }
  15. }
  16. </head>
  17. <form action="#">
  18. <label>Compañia:</label><br /><br />
  19. <label for="yesCheck" class="ilabel">Si</label>
  20. <input class="iradio" type="radio" checked="checked" onclick="yesnoCheck(this);" name="yesno" id="yesCheck" />
  21. <label for="noCheck" class="ilabel">No</label>
  22. <input class="iradio" type="radio" onclick="yesnoCheck(this);" name="yesno" id="noCheck" />
  23. <ul>
  24. <li  id="ifYes" style="visibility:visible">
  25. <label for="ficha">N° Ficha:</label><input class="itext" type="text" name="ficha" id="ficha" />
  26. </li>
  27. <li id="ifNo" style="visibility:hidden">
  28. <label for="curp">CURP:</label><input class="itext" type="text" name="curp" id="curp" />
  29. </li>
  30. </ul>
  31. </form>
  32. </body>
  33. </html>

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:47.