come faccio a ricavare in javascript in una variabile il valore di un input type=radio?
come faccio a ricavare in javascript in una variabile il valore di un input type=radio?
var valoreRadio = document.forms.nomeform.elements.nomeRadio.proprie tà_che_ti_interessa
Provo a scrivere cosi:
var accetto=document.forms.scheda.elements.accetto.val ue;
ma se faccio alert(accetto) mi continua a dare 'undefined'
No, i radio formano una collezione che deve essere raggiunta tramite un vettore:
var valore = document.NOMEFORM.NOMERADIO[i].value;
dove i va da zero (per il primo bottone) in avanti.
Per sapere il valore del radio selezionato, occorre quindi:
var rr = document.NOMEFORM.NOMERADIO;
var valore = "";
for (var i=0; i<rr.length; i++) {
if (rr.checked) {
valore = rr[i].value;
break;
}
}
... qui puoi testare se valore e` diverso da "".
Ciao
Michele
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati
ho l'impressione che ciclando sui radio button lui non trovi nulla selezionato perche mi restituisce una stringa vuota.
Infatti nella mia pagina ci sono 2 radio button che all'inizio sono entrambi deselezionati poi ne seleziono uno e richiamo la funzione :
Cosa manca? non è che devo scrivere del codice per selezionarne uno al momento del click su uno di essi? come si fa?
<script language="JavaScript">
function controlla(){
var email=document.scheda.email.value;
var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
var rr = document.scheda.accetto;
var accetto = "";
for (var i=0; i<rr.length; i++) {
if (rr.checked) {
accetto = rr[i].value;
break;
}
}
alert(accetto);
if (accetto==null){
alert ("Devi scegliere se accettare o meno l'informativa riguardo la legge n. 675/96!");
return false;
}
else if (accetto=="nacc"){
document.scheda.action = "home.htm";
}
if (email==""){
alert ("L'indirizzo e-mail è obbligatorio!");
return false;
}
else if (!email_reg_exp.test(email)){
alert ("Inserisci un indirizzo e-mail corretto!");
return false;
}
document.scheda.action = "sendMail.php";
window.open('','Promez_Iscrizione_newsletter','wid th=420,height=300,status=no');
document.scheda.target="Promez_Invio_mail";
document.scheda.submit();
}
</script>
ho dimenticato un [i]. COmunque ti aggiungo anche un alert, per la verifica.
var rr = document.scheda.accetto;
var accetto = "";
for (var j=0; j<rr.length; j++) {
if (rr[j].checked) {
accetto = rr[j].value;
// alert ("trovato selezione all'indice "+j);
break;
}
}
Ciao
Michele
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati