일련의 라디오 버튼과 일부 텍스트 필드가 포함 된 사용자 컨트롤이 있습니다. 특정 라디오 버튼이 선택되어 있으면 두 개의 텍스트 필드의 내용을 확인하려고합니다.CustomValidator Javascript 함수는 라디오 버튼이 선택되지 않았다고 생각합니다.
내 제어 마크 업이 포함되어 있습니다
<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 그냥 값을 확인하고 그들이 제정신 있는지 확인합니다.
RadioBetween을 확인했는지 여부를 알 수 없기 때문에 결코 확인에 들어 가지 않습니다. 그러나 서버 측 코드는 올바르게 작동합니다 (똑같은 일을합니다).
수동으로 체크 대상을 'true'로 설정하면 예상대로 작동합니다.
여행을 서버에 저장하려면이 클라이언트 측을 어떻게 확인할 수 있습니까? 내가 도대체 뭘 잘못하고있는 겁니까? 이것은 매우 사소한 코드 여야합니다 :-)
예, –