Hola otra vez:
Estoy de acuerdo en varias cosas:
Desde luego que tampoco es mi intención pelearme y sí aclarar las cosas, y me parece que no estamos hablando de lo mismo:
Cuando hablas de seleccionar al formulario por su nombre, y lo pones como una cadena (string) entrecorchetado, no estás usando la indexación ordinal (numérica) de la colección de formularios sino la indexación "asociativa"... y es que todas (al menos eso creo) las colecciones de elementos de una página, desde javascript pueden referirse tanto por el índice ordinal (según haya sido declarado), como por su nombre (según el "name" declarado), y si vale para la colección de formularios "forms", también vale para lo colección de elementos "elements"... y tanto forms como elements pueden obviarse (yo suelo obviar elements y no forms.
Esto que te comento, también vale para la colección de imágenes, de links, de anchors...
Y otra cosa que antes comenté es que todo elemento declarado entre puntos (representando una categoría en forma de árbol), puede suplantarse por el entrecorchetado de la cadena que se encuentra entre puntos...
O sea que:
document.forms.frm
... puede declararse también así...
document["forms"]["frm"]
Puedes probarlo (con cualquier colección)...
No solo eso, sino que también puedes crear un arbol de todas las colecciones de nodos de un documento recorriendo el array desde document usando un bucle for de la siguiente manera:
var mostrar = ""
for (elemento in document) {
mostrar += "document['" + elemento + "'] = " + document[elemento] + "<br />\n";
}
document.write(mostrar);
Sobre los radios, tal como comentaba antes, no suelo usarlos, pero me sonaba lo de considerarlos una matríz (de hecho lo había comentado).
Saludos