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">
&nbsp;
</div>
</div>
</td>

Grazie per l'aiuto.....

È stato utile?

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
scroll top