我想知道是否选中了复选框。有一个customvalidator链接到复选框。使用java脚本,我正在检查选中的复选框
这是ASpx代码和Java脚本
function checkAcceptance(source, args) {
args.IsValid = document.getElementById('CheckBox1').checked;
}
<div>
<p>
<asp:CheckBox ID="CheckBox1" runat="server" meta:resourcekey="CheckBox1Resource1"></asp:CheckBox>
<asp:Literal ID="litTC1" runat="server" meta:resourcekey="litTC1Resource1" Text="I accept the"></asp:Literal>
<asp:HyperLink ID="CnC" runat="server" Target="_blank" meta:resourcekey="CnCResource1">Condition of Carriage</asp:HyperLink>
<asp:CustomValidator ID="cvTermsConditions" runat="server" ClientValidationFunction="checkAcceptance" ErrorMessage="Terms and Conditions must be accepted" meta:resourcekey="cvTermsConditionsResource1" Text="*"></asp:CustomValidator>
</p>
</div>
这个
出了什么问题答案 0 :(得分:1)
您需要找到该元素,因为母版页会更改您的ID。
我建议您使用JQuery,但如果没有,请尝试使用:
function checkAcceptance(source, args) {
var idcheckbox = document.querySelector("[id*='CheckBox1']").id;
args.IsValid = document.getElementById(idcheckbox).checked;
}
或许您想要玩它,尝试使用不同的选择器(CSS方法)
http://www.w3schools.com/jsref/met_document_queryselector.asp
<强>更新强>
使用JQuery方法:
将JQuery脚本导入您的母版页。 使用:
<asp:CheckBox ID="CheckBox1" runat="server" meta:resourcekey="CheckBox1Resource1" class="myclass"></asp:CheckBox>
和javascript:
args.IsValid = $(".myclass").prop("checked");
答案 1 :(得分:-1)
谢谢大家的反馈 我在拥有母版页时找到的最简单的解决方案是阅读元素
的clientid
function checkAcceptance(source, args) {
args.IsValid = document.getElementById("<%=CheckBox1.ClientID %>").checked;
}
这没有问题