Programación Web y Scripting > JavaScript
Problema Funcion Radiobuttons
Avalon:
--- Cita de: "ing_marco" --- Solo hacer una acotacion mas.
--- Citar ---var miradio = document.all.radio;
--- Fin de la cita ---
Esta intruccion esta muy bien, solo si son los unicos radiobuton en el documento, pero si quieres ser mas especifico deberias hacerlo de esta forma:
En el name de todos tus radiobuton ponerles un nombre como 'rbtnTipo', luego
--- Citar ---var miradio = document.getElementByName('rbtnTipo');
--- Fin de la cita ---
esta linea deberia reemplazar a la anterior y el resto debe ser de la misma forma.
Saludos.
Solo para dejar claro que el codigo anterior esta muy bien trabajado, eso solo es un adicional.
Atte
Marco Diaz.
--- Fin de la cita ---
En este caso el nombre puede resultar engañoso, pero document.all.radio no hace referencia a todos los elementos de tipo radio button que se encuentren en el documento sino solo a los que tengan radio como nombre.
Este es el código que puso zaida20
--- Citar ---<input type="radio" name="radio" value="3" >
<input type="radio" name="radio" value="4" >
<input type="radio" name="radio" value="5" >
--- Fin de la cita ---
Pero podría tener perfectamente estos otros radio buttons en el mismo documento sin necesidad de variar ninguna instrucción de la función validar.
--- Citar ---<input type="radio" name="radio2" value="6" >
<input type="radio" name="radio2" value="7" >
<input type="radio" name="radio2" value="8" >
--- Fin de la cita ---
A éstos se podría hacer referencia mediante document.all.radio2.
Creo que era conveniente aclarar que document.all.radio no hace referencia al tipo de elemento sino a su nombre, ya que al coincidir ambos en este caso se ha podido crear algo de confusión.
Salu2,
Avalon
ing_marco:
Pues entoces hace exactamente lo mismo.
Porque tu le estas poniendo el mismo nombre, solo que tu lo llamas de otra forma.
--- Citar ---var miradio = document.all.radio;
--- Fin de la cita ---
es igual a poner
--- Citar ---var miradio = document.getElementByName('radio');
--- Fin de la cita ---
al final, debemos el problema ya fue resuelto B)
F_Tanori:
Ya que el problema esta resuelto y ahora el hilo es de aclaraciones :P
Seria importante mencionar que
--- Código: Text ---document.all
Es exclusivo de internet explorer y aunque supuestamente firefox lo soportara en versiones nuevas
https://bugzilla.mozilla.org/show_bug.cgi?id=248549
Por lo pronto no funciona ni en la version 2.0.0.7 (tal vez en una mayor)
El estandar es
--- Código: Text ---document.getElementById()
Para utilizarlo "aparentemente" como getElementsByName() (como menciona Avalon )
--- Código: Text ---document.all['radio']; en lugar de
--- Código: Text ---document.all.radio;
aunque no es recomendable usar instrucciones no estandares por eso IE sigue haciendo lo que se le da la gana, porque les seguimos la corriente
Otro detalle:
el metodo no es <!--xc1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>XCODE </td></tr><tr><td id='XCODE'><!--exc1-->getElementByName <!--xc2--></td></tr></table><div class='postcolor'><!--exc2-->
sino<!--xc1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>XCODE </td></tr><tr><td id='XCODE'><!--exc1--> getElementsByName<!--xc2--></td></tr></table><div class='postcolor'><!--exc2-->
Saludos
Avalon:
--- Cita de: "ing_marco" --- Pues entoces hace exactamente lo mismo.
Porque tu le estas poniendo el mismo nombre, solo que tu lo llamas de otra forma.
--- Citar ---var miradio = document.all.radio;
--- Fin de la cita ---
es igual a poner
--- Citar ---var miradio = document.getElementByName('radio');
--- Fin de la cita ---
al final, debemos el problema ya fue resuelto B)
--- Fin de la cita ---
Por supuesto que hace lo mismo :)
La aclaración venía únicamente porque de tu frase
--- Citar ---Esta intruccion esta muy bien, solo si son los unicos radiobuton en el documento, pero si quieres ser mas especifico deberias hacerlo de esta forma
--- Fin de la cita ---
se puede entender que de la forma que puse yo se hace referencia a TODOS los radios del documento. Si te referías a que es mejor usar una nomenclatura más clara para los nombres estoy de acuerdo en que ponerle al elemento exactamente el mismo nombre que su tipo es horrible.
@F_Tanori estoy de acuerdo contigo en el uso del estándar getElementById.
Salu2,
Avalon
ing_marco:
--- Citar ---getElementsByName
--- Fin de la cita ---
:rolleyes: se me fue la "S".
Pero muy informativa tu Comentario F_Tanori
Navegación
[*] Página Anterior
Ir a la versión completa