Autor Tema: getElementsByName JavaScript length conocer número elementos marcados CU01130E  (Leído 3038 veces)

paramonso

  • Intermedio
  • ***
  • Mensajes: 241
  • El ignorante afirma, el sabio duda y reflexiona.
    • Ver Perfil
Hola. Respuestas y código para el ejercicio CU01130E del tutorial pdf de programación JavaScript.

a) ¿Escribir if (elementosObtenidos[1].checked == true) genera el mismo resultado que escribir if (elementosObtenidos[1].checked)?
Si

¿Por qué?
Porque es una propiedad que devuelve un valor booleano. En el primer caso le preguntamos si el valor es verdadero y en el segundo si está pulsado. Si está pulsado el valor es True

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo JavaScript - aprenderaprogramar.com</title>
<meta charset="utf-8">
<style type="text/css">
body {background-color:white; font-family: sans-serif;}
label {color: maroon; display:inline-block; padding:5px;}
</style>

<script type="text/javascript">
function informarItemsElegidos(elemento)
{

var elementosObtenidos = document.getElementsByName(elemento);
var msg = 'Animales que ha elegido que le gustan incluye: ';
var elegidos = 0, i;

//Variable con el numero total de elementos con la propiedad length
var totElem=elementosObtenidos.length;
 
// Sin if anidado
for(i = 0; i < totElem; i++)
{
              if (elementosObtenidos[i].checked==true &&  elegidos>=1)
{
  msg=msg+', ';
  msg = msg + elementosObtenidos[i].value;
  elegidos=elegidos+1;
}
  else  if (elementosObtenidos[i].checked==true &&  elegidos<1)
  {
  msg = msg + elementosObtenidos[i].value ;
  elegidos=elegidos+1;
  }
 
    }

/*c) Utilizando la propiedad length aplicada a la colección de nodos obtenida
mediante getElementsByName, modifica el código para que el resultado sea que
al enviar el formulario el mensaje que aparezca sea
 “El número total de animales disponibles era … y usted ha elegido …”.*/

 //Numero total de animales disponibles y elegidos
    msg=msg+'\n\nEl número total de animales disponibles era...'+totElem+'\n y usted ha elegido …'+elegidos+'\n' ;
if (elegidos == 0 ) {msg = '¡No ha elegido ningún animal!';}
alert (msg,);
}
</script>

</head>
<body>
<div id="cabecera">
<h1>Portal web aprenderaprogramar.com</h1>
<h2>Didáctica y divulgación de la programación</h2>
</div>
<!-- Formulario de contacto -->
<div style="width:450px;">
<form name ="formularioContacto" class="formularioTipo1" method="get" action=" " onsubmit="informarItemsElegidos('animal')">
<p>Si quieres contactar con nosotros envíanos este formulario relleno:</p>
<label for="nombre"><span>Nombre:</span> <input id="nombre" type="text" name="nombre" /></label>
<label for="apellidos"><span>Apellidos:</span> <input id="apellidos" type="text" name="apellidos" /></label>
<p>Elige los animales que te gusten:</p>
<input type="checkbox" name="animal" id="leon" value="leon" /> <label for="leon">León &nbsp;&nbsp;&nbsp;    </label>
<input type="checkbox" name="animal" id="tigre" value="tigre" /> <label for="tigre">Tigre &nbsp;&nbsp;&nbsp; </label>
<input type="checkbox" name="animal" id="guepardo" value="guepardo" /> <label for="guepardo">Guepardo &nbsp;&nbsp;&nbsp; </label>
<input type="checkbox" name="animal" id="jaguar" value="jaguar" /> <label for="jaguar">Jaguar </label>
<label for="email"><span>Correo electrónico:</span> <input id="email" type="text" name="email" /></label>
<label>
<input type="submit" value="Enviar" />
<input type="reset" value="Cancelar" />
</label>
</form>
</div>
</body>
</html>

« Última modificación: 01 de Enero 2018, 20:41 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2662
    • Ver Perfil
Buenas paramonso, todo bien (*)

Donde dices "En el primer caso le preguntamos si el valor es verdadero y en el segundo si está pulsado" mejor diríamos "En el primer caso le preguntamos si el valor es verdadero y en el segundo si está marcado". Pulsado pareciera dar a entender que hubiera una tecla pulsada o algo así.

Salu2

(*) Nota: ver lo que se indica a continuación.
« Última modificación: 18 de Abril 2020, 12:22 por Ogramar »

cristiannd

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 24
    • Ver Perfil
Para las personas que están siguiendo el curso en orden, este ejercicio está resuelto utilizando for que todavía no fue explicado. No recomiendo seguir este ejemplo hasta poder resolverlo solamente con if.

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2662
    • Ver Perfil
Buenas cristian, tienes razón. El ejercicio no sería una buena solución teniendo en cuenta que usa algo que no se ha explicado hasta este momento en el curso y por lo tanto no está conforme con el orden del curso. No me había dado cuenta de esto, gracias por indicarlo. Salu2

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".