验证控件未在使用JavaScript在客户端启用时进行验证
根据要求,我禁用了服务器端PageLoad事件的页面中的所有验证控件。验证控件未在使用JavaScript在客户端启用时进行验证
点击提交按钮我想激活它们并验证页面,如果页面没问题,请提交其他不明智的提交。
我能够启用所有验证器,但是我无法理解的一件事是他们不验证页面。我设置了警报并检查它们是否已启用,但它们不验证页面并让页面提交。
对不起,我不能得到我错了,我可能需要调用一些验证方法,或者我应该防止按钮的默认行为。请指导我。
下面是我的脚本:
<script type="text/javascript">
function NextClicked() {
var _ddlStatus = document.getElementById("<%=ddlEmpStatus.ClientID%>");
var _selectedIndex = _ddlStatus.selectedIndex;
if (_selectedIndex == 0) {
alert("Nothing selected");
}<br/>
else<br/>
if (_selectedIndex == 1) {
for (i = 0; i < Page_Validators.length; i++) {
Page_Validators[i].Enabled = true;
}
}
}
</script>
从服务器中,你必须让他们按一下按钮之前,已启用;否则,我认为你需要遍历服务器端集合并启用它们,并且明确地调用它们的validate()方法。
或者,您也可以尝试使用客户端验证方法(http://forums.asp.net/t/1175267.aspx)来启用它们。
如果您通过在服务器中设置Enabled = false来禁用,则甚至可以完全使用客户端API。不知道,只是知道这可能是其他控件的问题。
HTH。
在回发后,我循环遍历这些验证器,并调用Validate()方法进行服务器端验证。但问题在客户端。 请指教 – haansi 2010-06-11 12:42:09
尝试链接中的validatorEnable()方法;请检查此客户端API部分:http://msdn.microsoft.com/en-us/library/aa479045.aspx但是,我不知道,如果您在服务器上设置Enabled =“false”,这将工作;你可能需要让它在服务器上启用,并禁用客户端的页面加载...不是100%确定的... ... – 2010-06-11 14:06:35
为什么你的样本中有'
'标签?如果这是直接复制和粘贴,那可能是问题所在。 – Codesleuth 2010-06-11 12:00:01
hi Codesleuth, 不,它不是代码的一部分,我把它放在这里用于格式化页面文章。 – haansi 2010-06-11 12:06:30