| ||||
Hola, Sería así: if ((form.ID_Provinc_HIDDEN.value = 'NOM' || form.ID_Mun_HIDDEN.value = 'NOM') && form.Demandante.value = 'MUN') La segunda parte no la entiendo bien pero los else if quedarían: if (a==2) alert('hola') else if (a==3) alert('adios'); Espero que lo poco que he entendido lo haya contestado bien. Saludos, |
| ||||
No sé que ocurre Puse la función dentro de los tags de <script>, antes del </head> como de costumbre, pero no la llamé desde ningún evento tipo onsubmit, onchange ni nada de nada (porque me olvidé) PERO al cambiar la selección de un select llamado Demandante me da error y me dice que "Se esperaba un objeto" Alguna idea? La funsión quedó así finalmente;: function valida_envio() { if ((document.forms.demanda.ID_Provinc_HIDDEN.value = 'NOM' || document.forms.demanda.ID_Mun_HIDDEN.value = 'NOM') && document.forms.demanda.Demandante.value = 'MUN') { alert("bla bla bla"); return false; } else{document.forms.demanda.submit()} }//valida_envio Ahh.. fijate que el <select> llamado Demandante (que es el que manda el error al cambiar su selección) participa dentro de la función (odio los tags CODE en conjunto con líneas largas ) Última edición por AlZuwaga; 26/11/2003 a las 15:54 |
| ||||
Hola dazu y JavierB : No sé si habrá más errores, pero en javascript las igualdades son "==" y "=" significa asignación. function valida_envio() { if ((document.forms.demanda.ID_Provinc_HIDDEN.value = = 'NOM' || document.forms.demanda.ID_Mun_HIDDEN.value = = 'NOM') && document.forms.demanda.Demandante.value = = 'MUN') { alert("bla bla bla"); return false; } else{document.forms.demanda.submit()} }//valida_envio Saludos |
| ||||
hola, fijate que al hacer el check con el if hay que poner == en vez de =, o sea el = es para asignar, pero si es "es igual a?", es == también, te conviene llamar a 'return true' en vez de llamar submit(), al final del código, porque si estás llamando esta función con un evento onsubmit, lo que estás haciendo es interceptar el submiting el error que te está dando, por lo que veo, es porque ese campo "demanda" decís que es un select. Los select no tienen una propiedad value, solamente los input type="text". Los select tienen una propiedad options: [inputSelectObject].options es un array que contiene todas las opciones, de tal modo que si vos tenés tres opciones en el select, podés acceder, a la primera de ellas, con [inputSelectObject].options[0], y así sucesivamente. Por lo que en el check ese, si la opción que querés verificar que esté seleccionada es la segunda, podés hacer esto: ( bla bla anterior ) && ([inputSelectObject].selectedIndex == 1 ) el 1 para selectedIndex en este caso se refiere al [inputSelectObject].options[1]... saludos |
| ||||
Hola otra vez: sci-fi: Acabo de fijarme en w3.org, y he visto que el select no tiene atributo value tal como dices, pero en los navegadores más importantes (no sé si en todos), el value select se corresponde con el del option seleccionado... tal vez sea algo propio de la implementación de los formularios, ya que el paso de parámetros es de la forma nombre_del_name=nombre_del_value. Saludos |
| ||||
Chas gracias señoers, mañana lo pruebo y les comento. Aunque estoy seguro que dieron en el clavo con lo de == en lugar de = Qué complicada es la sintaxis de javascript... poner dos palitos parados para decir OR, poner dos AND seguidos para simplemente decir AND... que la asignación sea diferente a la comparación... en fin... estoy más acostumbrado a vbscript que es más... "humanamente comprensible"... más "coloquial", para decir algo =) con respecto a lo que sci-fi comenta... la verdad que no lo sé (y qué podría opinar justamente yo de javascript que no se un sorongo?), pero te digo que funciona con esa propiedad value para los selects... al menos en IE6 (que es el único que me interesa ya que es para una aplicación local e interna.. osea una intranerd) saludos
__________________ ...___... |
| ||||
hola caricatos, dazuaga, Cita: están seguros? desde que tengo uso de razón (que no es mucho tiempo en realidad) que los select nunca los pude usar con value. Creo que el error que comenta dazuaga, que le tira el IE, se debe a que está usando una propiedad value para un select... no sé, por ahi funciona en el IE, pero ves que cuando las cosas se ponen picantes, usar algo así te trae problemas por otro lado, aunque el IE lo soporte, te tira errores por otro lado...en los navegadores más importantes (no sé si en todos), el value select se corresponde con el del option seleccionado... tal vez sea algo propio de la implementación de los formularios, ya que el paso de parámetros es de la forma nombre_del_name=nombre_del_value. con respecto a lo que comenta caricatos, la cuestión de name y value, creo que en realidad la propiedad value la asocio por lo menos con lo que tiene que ver con el "input" del usuario, en cambio los select, radio y todos esos, que son en realidad "multiple choices", que en realidad son todas opciones predefinidas que el usuario tiene que definir, no tienen propiedades value. Pero bueno... ah se podría probar si realmente el IE u otros navegadores soportan la propiedad value en select poniendole al select un event handler asi: onMouseOver="alert(this.value)", teniendo en cuenta que esté seleccionada en ese momento alguna de las opciones... saludos |
| ||||
Hola otra vez: A las pruebas me remito... Acabo de subir está página: http://www.pepemolina.com/pruebas/prueba143.html No te fijes en la estética ya que justamente estaba haciendo pruebas para este tema que parece resuelto. Saludos |
| ||||
Hola a todos. Me distraigo un momento y cuando vuelvo me encuentro con el problema solucionado A mi también me ha sorprendido lo de que el value de los select no es estandard, pero bueno... es otra de las muchas cosas que ignoro Te pido disculpas, dazuaga, por el asunto de los == Con las prisas copie tu código y solo cambié los or por los palitroques y los and por && Saludos, |
| ||||
Cachis! Yo sí que he llegado tarde!
__________________ Cómo escribir No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia. |