当我选中一个复选框时,我正在尝试为asp.net控件属性设置新值。
在我的情况下,我有RegularExpressionValidator asp.net控件,当我选中该框时,我将获得属性ErrorMessage和ValidationExpression的新值。
我试过这段代码,但没跟我合作。
请帮忙。
这是我的代码: .................................................. .............................
<script src="js/jquery-1.4.1.js" type="text/javascript"></script>
<script type="text/javascript">
function chkinput() {
if ($('#<%=chkIntphoneHome.ClientID %>').is(':checked')) {
$('#<%=REV_HomePhone.ClientID %>').attr('ErrorMessage', 'new msg');
$('#<%=REV_HomePhone.ClientID %>').attr('ValidationExpression', 'new exp');
}
}
</script>
<asp:CheckBox ID="chkIntMobileHome" runat="server" Style="position: absolute; top: 200px;
left: 535px;" Text="Internation Code" AutoPostBack="True"
/>
<asp:TextBox ID="txtHomePhone" runat="server" Style="top: 147px; left: 543px; position: absolute;
height: 22px; width: 128px" ></asp:TextBox>
<asp:RegularExpressionValidator ID="REV_HomePhone" runat="server" ErrorMessage="Please enter valid Home Phone"
Style="position: absolute; top: 177px; left: 476px; width: 226px;"
Display="Dynamic" ControlToValidate="txtHomePhone"
ValidationExpression="\d{3}?\d{3}\d{4}"></asp:RegularExpressionValidator>
答案 0 :(得分:1)
你需要在后面的代码中处理它,它不会像你那样工作。 jQuery将在页面呈现后添加这些属性,从而添加到输出,对.NET控件没有任何影响。
编辑:建议,您可以使用updatePanel包装您的内容,这样您就可以获得您可能希望使用jQuery的部分回发效果,然后可以在updatePanel中挂钩OnLoad事件并查看它是否是ajaxRequest,并且相应地更新您的页面。
答案 1 :(得分:0)
我认为您正在更改文本框的属性,而不是resumerexpressionvalidator控件。它应该是这样的吗?
if ($('#<%=chkIntphoneHome.ClientID %>').is(':checked')) {
$('#<%=REV_HomePhone.ClientID %>').attr('ErrorMessage', 'new msg');
$('#<%=REV_HomePhone.ClientID %>').attr('ValidationExpression', 'new exp');
}