Programación Web y Scripting > JavaScript

 Problema Funcion Radiobuttons

<< < (2/2)

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

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa