getElementById va retourner une référence à un élément individuel, et non au tableau que le navigateur crée lorsque tu donnes un groupe d'éléments du même nom. Aussi ids doivent être uniques à la différence des noms. Vous n'avez pas besoin de test pour
document. tous d'accéder aux collections des formulaires, donc je ne crois pas que vous avez un problème de récupération d'une référence au tableau comme ceci:
srcf = document.forms[0].elements["opt_tye"];
/ / Modifier
Je pensais à ça un peu plus et Im pas sûre que tu aurais besoin d'accéder au tableau pour faire ce que vous voulez si vous avez passé
cet comme argument à la fonction au lieu d'un entier:
<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;
- }
Lorsque j'ai testé et a fixé la valeur d'une radio bouton par programme les navigateurs (IE 6, FF1.0.4 et Opera 8) règle automatiquement les autres boutons dans le groupe à false.
J'essayais de penser à un moyen d'obtenir le tableau groupe de radio avec des méthodes DOM si c'est ce que tu voulais vraiment faire. Je ne pense pas que ce tableau fait partie du DOM (Id heureux d'être corrigé si mal Im), donc le mieux que j'ai pu trouver des consistait à faire une fonction qui auraient obtenu un NodeList de tous les éléments de saisie, puis vérifiez-les pour leur
nom attributs de construire et de retourner un tableau du groupe en question:
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;
- }
alors vous pourriez l'appeler avec:
var srcf = getRadioArray("opt_tye");
ou
var srcf = getRadioArray(opt.name);
si tu passais
cet OPT paramètre
Im sure its just a typo, mais n'oubliez pas d'utiliser CamelCase pour. BgColor