如果勾选复选框,最好的方法是制作文本框?
我想我可以编写一个自定义的验证器,但是我希望避免完整的发回来检查验证,如果可能的话…我在想AJAX有一些内置的这种情况,但我一直找不到。我正在思考Javascript也将是一个解决方案,但如果这是最好的方法,我可以使用一个头脑。
感谢任何信息。
解决方法
处理这个JavaScript的JavaScript并不是很困难。
给定以下ASP控件:
<asp:TextBox ID="txtSubject" runat="server" /> <asp:CheckBox ID="chkSubjectrequired" runat="server" OnClick="updateValidator();" /> <asp:requiredFieldValidator ID="rfvSubject" ControlToValidate="txtSubject" ErrorMessage="You must enter a subject." runat="server" />
<script language="javascript" type="text/javascript"> function updateValidator() { var enableValidator = !event.srcElement.status; var rfvSubject = document.getElementById('rfvSubject'); ValidatorEnable(rfvSubject,enableValidator); } </script>
这就是它的一切。您还需要将以下代码添加到页面加载事件中,以便如果用户禁用了JavaScript,则您所需的字段验证器仍然正确打开或关闭:
rfvSubject.Enabled = chkSubjectrequired.Checked