Foros del Web » Programando para Internet » Javascript »

error en if

Estas en el tema de error en if en el foro de Javascript en Foros del Web. hola me encuentro con el siguiente problema.. tengo 2 formularios, estos dos formularios estan en una pagina.. el tema es que elija la opcion que ...
  #1 (permalink)  
Antiguo 14/06/2010, 12:24
 
Fecha de Ingreso: septiembre-2009
Mensajes: 40
Antigüedad: 14 años, 8 meses
Puntos: 0
error en if

hola me encuentro con el siguiente problema..

tengo 2 formularios, estos dos formularios estan en una pagina..
el tema es que elija la opcion que elija del FORMULARIO 2 me tira el alert "debe escoger un talle"...

que es lo que esta fallando?¿ hay algo mal en el if?¿ como puedo solucionarlo?¿
desde ya muchas gracias

Código Javascript:
Ver original
  1. <SCRIPT LANGUAGE="JavaScript">
  2. if(document.getElementById('talleSelect').value==0 ){
  3. alert ('Debe escoger un talle');
  4. return 0;
  5. }  
  6. </SCRIPT>

FORMULARIO 1 :
Código Javascript:
Ver original
  1. <form NAME="itemsform" >
  2. <select size="1" name="newTalle" id="talleSelect">
  3.           <option value="0">Talle</option>
  4.           <option value="26">T1bb</option>
  5.           <option value="26">Talle2bb</option>
  6.           <option value="27">Talle2</option>
  7.           <option value="27">Talle4</option>
  8.           <option value="28">Talle6</option>
  9.           <option value="28">Talle8</option>
  10.           <option value="29">Talle10</option>
  11.           <option value="29">Talle12</option>
  12.           <option value="25" >Curva</option>
  13.     </select>
  14. <input name="text2" type="text" style="border:0;" size="2" >$
  15. <input name="text3" type="text" style="border:0;" size="2">
  16.    
  17. <input type="button" name="cbtadd2" value="Agregar" onClick="buyItem('Art0766',document.itemsform.newTalle.value,document.itemsform.agregar1.value)">

FORMULARIO 2:
Código Javascript:
Ver original
  1. <input TYPE= "value" NAME="agregar2" VALUE="1"SIZE="3" >
  2. <select size="1" name="newTalle2" id="talleSelect">
  3.         <option value="0">Talle</option>
  4.         <option value="26">T1bb</option>
  5.         <option value="26">T2bb</option>
  6.         <option value="27">Talle2</option>
  7.         <option value="27">Talle4</option>
  8.         <option value="28">Talle6</option>
  9.         <option value="28">Talle8</option>
  10.         <option value="29">Talle10</option>
  11.         <option value="29">Talle12</option>
  12.         <option value="25">Curva</option>
  13.       </select>
  14.       <input name="text22" type="text" style="border:0;" size="2">$
  15.       <input name="text32" type="text" style="border:0;" size="2">
  16. <input type="button" name="cbtadd2" value="Agregar" onClick="buyItem('Art0167',document.itemsform.newTalle2.value,document.itemsform.agregar2.value)">
  17. </form>
  #2 (permalink)  
Antiguo 14/06/2010, 12:27
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: error en if

Hola juanitoto

Código Javascript:
Ver original
  1. if(document.getElementById('talleSelect').value=="0" ){

Saludos,
  #3 (permalink)  
Antiguo 14/06/2010, 12:48
 
Fecha de Ingreso: septiembre-2009
Mensajes: 40
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: error en if

hola javier
gracias por tu respuesta!...
hice lo que me dijiste pero sigue tirandome el alert..ya no se mas que hacer??
alguna otra sugerencia?¿
  #4 (permalink)  
Antiguo 14/06/2010, 12:48
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: error en if

@javierb,
sabes, no tiene diferencia si es string o integer debido a que el operador igualdad (==) tiene la caracteristica de coercer cuando los tipos de valores a comparar son distintos. cuando los operandos son un string y un integer el integer es convertido a string. puedes hacer una simple prueba alert(0=="0") muestra true.

juanitoto, el problema real esta en que ambos selects tienen el mismo id y esto no se considera valido ya que un id debe ser unico en el documento. de modo que por lo general el interprete devuelve el primer elemento con dicha id.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 14/06/2010, 12:55
Avatar de Tecna  
Fecha de Ingreso: enero-2010
Mensajes: 291
Antigüedad: 14 años, 3 meses
Puntos: 45
Respuesta: error en if

Buenas,

lo que dice JavierB es cierto ya que lo que se recibe de los campos del formulario son cadenas luego debería ir entre comillas, pero javascript cuando compara una cadena con un número como sería este caso (comparar 0 con '0') primero convierte la cadena en un número y luego hace la comparación con lo que el resultado sería verdadero y ejecutaría el if, así que ese no sería el problema. El problema es que el id de los dos select es el mismo y los id deben ser únicos, al estar duplicado siempre tomará el del primer select y por eso el resultado no es el esperado.
  #6 (permalink)  
Antiguo 14/06/2010, 12:59
 
Fecha de Ingreso: septiembre-2009
Mensajes: 40
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: error en if

ok me quedo claro..
pero entonces tendria que hacer un if para cada formulario?¿?
como puedo solucionarlo?¿
  #7 (permalink)  
Antiguo 14/06/2010, 13:23
 
Fecha de Ingreso: septiembre-2009
Mensajes: 40
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: error en if

como puedo hacer para que los id sean unicos para cada formulario?¿
hay alguna forma?¿
gracias

Etiquetas: Ninguno
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 07:28.