如果选中复选框,如何使文本框成为必需?
我想我可以编写一个自定义验证器,但是我希望避免在可能的情况下发回完整的帖子以检查验证...我在想AJAX在这种情况下内置了一些东西,但我一直找不到。我想直接使用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" />
添加以下JavaScript函数:
<script language="javascript" type="text/javascript">
function updateValidator() {
var enableValidator = !event.srcElement.status;
var rfvSubject = document.getElementById('rfvSubject');
ValidatorEnable(rfvSubject, enableValidator);
}
</script>
这里的所有都是它的。您还希望将以下代码添加到Page Load事件中,以便如果用户禁用了JavaScript,则仍可以正确打开或关闭所需的字段验证器:
rfvSubject.Enabled = chkSubjectRequired.Checked
关于.net - 如果选中复选框,如何使文本框成为必需,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2132837/