Sto usando questo codice:
<input type="radio" name="sped" value="corr" onclick="ShowAndHide('spec_corr,'spec_neg','spec_p osta'); return(false)">Corriere<div id="spec_corr">Le transazioni on-line con carta di credito vengono effettuate direttamente sul sito di PayPal, tramite un Server Sicuro che adotta il sistema di protezione SSL. Sul nostro server non verrà registrata alcuna traccia della transazione.</div>
Questa è la funzione:
function ShowAndHide(id1,id2,id3){
if(document.getElementById){
el1=document.getElementById(id1);
el2=document.getElementById(id2);
el3=document.getElementById(id3);
if(el1.style.display=="none"){
el1.style.display="block";
el1.checked=true;
el2.style.display="none";
el3.style.display="none";
}
else{
el1.style.display="block";
el2.style.display="none";
el3.style.display="none";
}
}
}
In pratica all'evento onclick faccio vedere il contenuto div di quello che mando e nascondo il contenuto degli altri 2 div. Tutto funziona.
Poi però ho il problema che devo fare in modo che il radio sia selezionato, allora ho aggiunto:
this.element.checked=true;
avendo così:
<input type="radio" name="sped" value="corr" onclick="ShowAndHide('spec_corr,'spec_neg','spec_p osta'); this.element.checked=true; return(false)">
che funziona.
Ma è giusta questa scrittura? O ci sono altri metodi più corretti?
Premetto che capisco poco di javascript.