Convalida del gruppo JavaScript RADIOBUTTON
-
12-11-2019 - |
Domanda
Vorrei che il tuo aiuto sviluppasse una funzione JavaScript per convalidare se è selezionato uno dei seguenti RADIOBUTTON Group (IDType) e quale valore viene controllato e visualizza il messaggio di errore nella divisione (validationerror) nel caso in cui nessun pulsante di radio selezionato ??
<td>
<div>
<span>
<input type="radio" name="IDType" id="IDType" value="IDtype1"/>
ID Type 1
<input type="radio" name="IDType" id="IDType" value="IDtype2"/>
ID Type 2
</span>
<div id="ValidationError" name="ValidationError">
</div>
</div>
</td>
Grazie per l'aiuto.....
Soluzione
Prima di tutto, come detto i miei collegi, non puoi avere lo stesso ID ("IdType") per entrambi i tuoi pulsanti di radio.
Ecco una soluzione solo con JavaScript, senza jQuery.
<html>
<head>
<script type="text/javascript">
function Validate() {
var radios = document.getElementsByName('IDType')
for (var i = 0; i < radios.length; i++) {
if (radios[i].checked) {
alert("Selected Value = " + radios[i].value);
return true; // checked
}
};
// not checked, show error
document.getElementById('ValidationError').innerHTML = 'Error!!!';
return false;
}
</script>
</head>
<body>
<form>
<div>
<span>
<input type="radio" name="IDType" value="IDtype1"/>
ID Type 1
<input type="radio" name="IDType" value="IDtype2"/>
ID Type 2
</span>
<div id="ValidationError" name="ValidationError">
</div>
</div>
<input type="submit" value="Submit" onclick="return Validate();" />
</form>
</body>
</html>
Altri suggerimenti
function validateRadioButtons(){
var radio = $('input:radio[name="IDType"]:checked');
if(radio.length == 0)//no buttons selected
{
$('ValidationError').text("you haven't selected any buttons!");
return;
}
$('ValidationError').text(radio.val()+' is selected');
}
PS: Affinché ciò funzioni, dovresti prendere in considerazione l'uso di ID univoci per DOM Elements. Non puoi avere lo stesso ID ("IdType") per entrambi i pulsanti di opzione.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow