Ma perché devi modificare il mio esempio? Non ti funziona? Cos'è document.form1.tabella???
P.S. Se hai a che fare con molti radiogroup, ti conviene creare una proprietà prototipale di nome selectedIndex e richiamarla alla bisogna. Così: document.tuoForm.tuoRadioGroup.selectedIndex (un po' quello che accade per le select, per intenderci)... Ti giro un codice di esempio:
codice:
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Esempio</title>
<script type="text/javascript">
Object.defineProperty(NodeList.prototype, "selectedIndex", {
get: function() {
var nIndex = this.length - 1;
while (nIndex > -1 && !this[nIndex].checked) { nIndex--; }
return nIndex;
},
set: function(nNewIndex) {
if (isNaN(nNewIndex)) { return; }
var nOldIndex = this.selectedIndex;
if (nOldIndex > -1) { this[nOldIndex].checked = false; }
this[nNewIndex].checked = true;
},
enumerable : true,
configurable : false
});
function prelevaValore() {
alert("Il valore selezionato \u00E8 " + document.form1.tab[document.form1.tab.selectedIndex].value);
}
</script>
</head>
<body>
<form name="form1">
<input type="radio" name="tab" value="valore1" />valore1
<input type="radio" name="tab" value="valore2" />valore2
<input type="radio" name="tab" value="valore3" checked />valore3
<input type="radio" name="tab" value="valore4" />valore4
<input type="radio" name="tab" value="valore5" />valore5
<input type="radio" name="tab" value="valore6" />valore6</p>
<span style="cursor:pointer;text-decoration:underline;color:#0000ff;" onclick="prelevaValore();">Preleva valore</span></p>
</form>
</body>
</html>
Il fatto che la proprietà viene creata anche per tutte le NodeList che non sono composte prettamente da radio non è un problema: qualora venisse richiamata su altre NodeList darebbe come risultato -1 (anche se partirebbe comunque un ciclo su tutta la NodeList). Ma del resto... perché richiamare la proprietà selectedIndex su una collezione di div, mi domando?