getElementById va a devolver una referencia a un elemento individual, no a la matriz de que el navegador crea cuando le das un grupo de elementos del mismo nombre. También identificadores deben ser únicos a diferencia de los nombres. No es necesario para probar la
documento. todo para acceder a las colecciones de las formas, así que no creo que usted tiene un problema de recuperación de una referencia a la matriz de esta manera:
srcf = document.forms[0].elements["opt_tye"];
/ / Edit
Estaba pensando en esto un poco más y Im no seguro de que tendría que tener acceso a la matriz para hacer lo que usted desea si usted pasó
esto como un argumento a la función en lugar de un entero:
<input type="radio" name="opt_tye" onclick="seton('basic', this);">
function seton(row, opt){
document.getElementById(row).bgColor = '#EEEEEE';
opt.checked = true;
}
- function seton(row, opt){
- document.getElementById(row).bgColor = '#EEEEEE';
- opt.checked = true;
- }
Cuando probé esto y establecer el valor de una radio el botón programáticamente los navegadores (IE 6, FF1.0.4 y Opera 8) ajusta automáticamente el resto de botones en el grupo en false.
Estaba tratando de pensar en una manera de obtener la matriz del grupo de radio con métodos DOM si eso lo que usted realmente quería hacer. No creo que la matriz es parte de la DOM (Id estar feliz de ser corregido si soy malo), así que lo mejor que podía llegar a fue hacer una función que tendría un NodeList de todos los elementos de entrada y compruebe que para su
nombre atributos para crear y devolver una matriz del grupo en cuestión:
function getRadioArray(groupName) {
var retval = new Array();
var nodeList = document.getElementsByTagName("input");
for(var i = 0; i < nodeList.length; i++) {
if(nodeList.item(i).name == groupName) retval[i] = nodeList.item(i);
}
return retval;
}
- function getRadioArray(groupName) {
- var retval = new Array();
- var nodeList = document.getElementsByTagName("input");
- for(var i = 0; i < nodeList.length; i++) {
- if(nodeList.item(i).name == groupName) retval[i] = nodeList.item(i);
- }
- return retval;
- }
entonces usted podría llamarlo con:
var srcf = getRadioArray("opt_tye");
o
var srcf = getRadioArray(opt.name);
si se pasa
esto OPT parámetro
Im seguro su justo un error tipográfico, pero no se olvide de utilizar para camelCase. "BgColor