Ciao a tutti, volevo sapere come controolare, tramite una funz javascript, che un radio button fosse selezionato.
Grazie.
Ciao a tutti, volevo sapere come controolare, tramite una funz javascript, che un radio button fosse selezionato.
Grazie.
di solito i radiobutton sono più di uno con lo stesso nome
per sapere se un radiobutton è selezionato
dove indiceRadio è un numero che va da 0 a NumeroRadioConLoStessoNome-1codice:if(document.NomeForm.NomeRadio[indiceRadio].checked){ alert('selezionato'); } else{ alert('NON selezionato'); }
Ok grazie! Senti, in caso non fosse selezionato vorrei bloccare l'invio dati...come posso fare?
Ho fatto come dici ma funziona solo su un elemento dei rdio della stessa famiglia
<script language="JavaScript">
function fnVrfyRadio() {
if(document.Modulo.q35[0].checked){
alert('selezionato');
}
else{
alert('NON selezionato');
return false
}
}
</script>
così funziona solo sul primo elemento, se seleziono il secondo mi dice che non ha "NON selezionato"...
se devi controllare tutti i radio con lo stesso nome puoi fare un ciclo for
la funzione ritorna true o false quindi sarà richiamata cosìcodice:function fnVrfyRadio() { var selezionato=false for(var i=0;i<document.Modulo.q35.length;i++) if(document.Modulo.q35[i].checked)selezionato=true if(selezionato){ alert('selezionato'); return true } else{ alert('NON selezionato'); return false } }
codice:<form name="Modulo" onsubmit="return fnVrfyRadio()">![]()
ne approfitto della tua gentilezza :-).....io dovrei controllare più famiglie di radio..... come posso fare?
potresti fare una funzione per leggere il valore di un gruppo di radio, tipo questa
e poi fai le tue verifiche cosìcodice:function ValoreRadio(strNomeForm,strNomeRadio){ var rr = document.forms[strNomeForm].elements[strNomeRadio] var valore=null if(rr.length){ for(var i=0;i<rr.length;i++) if(rr[i].checked) valore=rr[i].value }else if(rr.checked)valore=rr.value return valore }
codice:if(ValoreRadio('Modulo','q35')){ alert('q35 selezionato') } else{ alert('q35 NON selezionato') } if(ValoreRadio('Modulo','q36')){ alert('q36 selezionato') } else{ alert('q36 NON selezionato') }
la funziona la richiamo sempre così?
onSubmit="return ValoreRadio()
e no... devi farti un'altra funzione che utilizza quest'ultima che t'ho postato...
ti faccio un esempio
e poi la metti nell'onsubmit cosìcodice:function Controlla(ff){ if(!(ValoreRadio(ff.name,'q35') && ValoreRadio(ff.name,'q36') && ValoreRadio(ff.name,'q37'))){ alert('selezionare tutti i gruppi di radio!') return false }else return true }
codice:<form name="Modulo" onsubmit="return Controlla(this)">![]()
perfetto, grazie!