J'ai un contrôle utilisateur qui contient une série de boutons radio et quelques champs de texte. Si un bouton radio spécifique est coché, je veux valider le contenu de deux champs de texte.CustomValidator La fonction Javascript pense que le bouton radio n'est pas coché
Mon balisage de contrôle contient ceci:
<asp:TextBox ID="FromDate" runat="server" Columns="8"></asp:TextBox>
<asp:TextBox ID="ToDate" runat="server" Columns="8"></asp:TextBox>
<asp:RadioButton runat="Server" ID="RadioBetween" GroupName="Date" CssClass="date_group_options_control_radio"/>
<asp:CustomValidator ID="DateValidator" runat="server" Display="Dynamic" ClientValidationFunction="ValidateDateFields_Client" OnServerValidate="ValidateDateFields"></asp:CustomValidator>
<script type="text/javascript">
function ValidateDateFields_Client(source, args)
{
debugger;
var bRadioBetweenSelected = false;
var oRadio = document.getElementById('<%=RadioBetween.ClientID%>');
if (oRadio != null && (oRadio.checked == true || oRadio["checked"] == true))
{
bRadioBetweenSelected = true;
}
if (bRadioBetweenSelected)
{
var oFromDate = document.getElementById('<%=FromDate.ClientID%>');
var oToDate = document.getElementById('<%=ToDate.ClientID%>');
if (oFromDate != null && oToDate != null)
{
var sFromDate = oFromDate.value;
var sToDate = oToDate.value;
source.innerHTML = ValidateFromToDate(sFromDate, sToDate, args);
}
else
{
args.IsValid = true;
}
}
else
{
args.IsValid = true;
}
}
</script>
ValidateFromToDate ne vérifie que les valeurs et veille à ce qu'ils sont sains d'esprit.
Il ne va jamais dans le chèque parce que je ne peux pas sembler dire si RadioBetween est vérifié ou non. Le code côté serveur, cependant, fonctionne bien (ce qui fait exactement la même chose).
Si je mets manuellement Checked à "true" dans le contrôle, cela fonctionne comme prévu.
Comment puis-je valider ce côté client pour enregistrer un déplacement sur le serveur? Qu'est-ce que je fais mal? Cela devrait être un code assez trivial :-)
Oui, il y a 3 boutons radio pour choisir toutes les options de date différents qui sont mutuellement exclusives –