Foros del Web » Programando para Internet » Javascript »

Pregunta con la condicional

Estas en el tema de Pregunta con la condicional en el foro de Javascript en Foros del Web. Hola. Mirad, tengo este codigo: <html> <head> <title></title> <link rel="" type="" href=""> <script type="text/javascript"> <!-- var asignatura= new Array (5); var tablatura='<table id="tabla" border="2"><tr>'; function ...
  #1 (permalink)  
Antiguo 01/04/2010, 03:50
 
Fecha de Ingreso: marzo-2010
Ubicación: Mijas Costa
Mensajes: 18
Antigüedad: 14 años, 1 mes
Puntos: 0
Sonrisa Pregunta con la condicional

Hola.

Mirad, tengo este codigo:

<html>
<head>
<title></title>
<link rel="" type="" href="">
<script type="text/javascript">
<!--
var asignatura= new Array (5);
var tablatura='<table id="tabla" border="2"><tr>';


function funcion()
{
for (i=0 ;i < 5; i++ )
{
asignatura[i]=prompt("Dime el nombre de cualquier asignatura");
if(asignatura[i].length == 2 || asignatura[i].length == 3 || asignatura[i].length == 4 || asignatura[i].length == 5 || asignatura[i].length == 6)
{
if (asignatura[i].indexOf('.') == 2 || asignatura[i].indexOf('.') == 4 || asignatura[i].indexOf('.') == 6)
{
tablatura+= '<td>'+ toUpperCase(asignatura[i])+'</td>';
}
else {tablatura+='<td>'+asignatura[i]+'</td>';}
}
else if(asignatura[i].length >= 7 || asignatura[i].length<=30)
{
tablatura+='<td>'+ asignatura[i]+'</td>';
}

else if(asignatura[i].length <= 2 || asignatura[i].length >= 30)
{
alert("Introduce un valor correcto cuando recargues la pagina");
break;
}
}
tablatura+='</tr></table>';
document.getElementById('capa').innerHTML=tablatur a;


}
//-->
</script>
</head>
<body onLoad="funcion();">
<div id="capa"></div>
</body>
</html>


La cosa es que cuando introduzco valores numericos y valores mayores de 30 y menores de 2 me los recoge.

¿Me lo podriais explicar?

Gracias ^_^
  #2 (permalink)  
Antiguo 01/04/2010, 04:54
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Pregunta con la condicional

Hola

Prueba a cambiar el operador "o" por "y"

Cita:
else if(asignatura[i].length >= 7 && asignatura[i].length<=30)
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 01/04/2010, 05:08
 
Fecha de Ingreso: marzo-2010
Ubicación: Mijas Costa
Mensajes: 18
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Pregunta con la condicional

Me sigue fallando cambiándole el operador.

Gracias de todos modos.
  #4 (permalink)  
Antiguo 01/04/2010, 05:23
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Pregunta con la condicional

Hola

Cita:
Iniciado por The__2in Ver Mensaje
Me sigue fallando cambiándole el operador.

Gracias de todos modos.
Cuando dices que falla, ¿con qué condición encaja?

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #5 (permalink)  
Antiguo 01/04/2010, 05:39
 
Fecha de Ingreso: marzo-2010
Ubicación: Mijas Costa
Mensajes: 18
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Pregunta con la condicional

Cambio los operadores lógicos en la parte que tu me has dicho, cuando inicio la página me sale la pregunta del prompt e introduzco un número de caracteres totalmente aleatorios, en plan, asdnsakjdhfsadkhfksaldhfaksdhfksadhfsadkjgbaslkdgh skjdalsdfaslkdfh, y me lo acepta.


Gracias.
  #6 (permalink)  
Antiguo 01/04/2010, 12:11
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Pregunta con la condicional

Hola

Prueba así

Código Javascript:
Ver original
  1. if(asignatura[i].length == 3 || asignatura[i].length == 4 || asignatura[i].length == 5 || asignatura[i].length == 6)
  2. {
  3. if (asignatura[i].indexOf('.') == 2 || asignatura[i].indexOf('.') == 4 || asignatura[i].indexOf('.') == 6)
  4. {
  5. tablatura+= '<td>'+ toUpperCase(asignatura[i])+'</td>';
  6. }
  7. else {tablatura+='<td>'+asignatura[i]+'</td>';}
  8. }
  9. else if(asignatura[i].length >= 7 && asignatura[i].length<=30)
  10. {
  11. tablatura+='<td>'+ asignatura[i]+'</td>';
  12. }
  13.  
  14. else if(asignatura[i].length <= 2 || asignatura[i].length >= 30)
  15. {
  16. alert("Introduce un valor correcto cuando recargues la pagina");
  17. break;
  18. }

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #7 (permalink)  
Antiguo 02/04/2010, 05:03
 
Fecha de Ingreso: marzo-2010
Ubicación: Mijas Costa
Mensajes: 18
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Pregunta con la condicional

Así lo hice y nada, no me funciona :S

Gracias.
  #8 (permalink)  
Antiguo 02/04/2010, 07:02
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Pregunta con la condicional

Hola

Cita:
Iniciado por The__2in Ver Mensaje
Así lo hice y nada, no me funciona :S

Gracias.
Acabo de probarlo y funciona. ¿Qué esperas realmente que ocurra cuando el valor insertado sea inválido?

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />

Etiquetas: condicional
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 21:08.