128 messaggi dal 01 febbraio 2006
In una pagina ho una form con due radio button ed un campo testo, vorrei verificare che uno dei due radio button sia selezionato prima dell'invio del modulo.

Ho inserito per questo uno script js che verifica che il valore del radio non sia nullo, ma non funziona correttamente.
NB i due radio hanno lo stesso nome, ma valori diversi, quindi selezionabili singolarmente.

Posto il codice:

<script language="javascript">
function validateform()
{
var msg = '';
if(ricerca.scelta.value= ' ')
msg = msg + "Selezionare Radio Button";

if (msg != ''){
msg = "Sono stati rilevati i seguenti errori:\n\n" + msg;
alert(msg);
return false
}
else
return true;
}
</script>

<form name="ricerca" method="post" onSubmit="return validateform(this.form)" action="risultati.asp" >
<input name="scelta" type="radio" value="t_locale"/>
<input name="scelta" type="radio" value="t_evento"/>
<input name="StringaDaCercare" type="text" size="30" class="text_cerca"/>
<input type="submit" name="Submit" value="Cerca" class="button_cerca"/>
<input name="ID" type="hidden" id="ID" value="1" />
</form>

Grazie in anticipo per l'aiuto...

Agostino Pasquin
547 messaggi dal 24 maggio 2002
Contributi
Quando all'interno di una form vi sono più radio [form].[radioname] restituisce una collection, ovvero una lista di elementi di tipo radio.

Se devi cerificare che almeno uno dei radio sia "checcato" puoi fare:
if (ricerca.scelta[0].checked == false &&  ricerca.scelta[1].checked == false) 
{
  .... quello che devi fare
}


Chiaramente se ne hai più di due puoi usare un ciclo di for.

Attenzione però: se il radio è uno solo non torna la collection.

Marco.
128 messaggi dal 01 febbraio 2006
Ok, grazie mille...

Agostino Pasquin

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.