Does anyone know how to disable an ASP.NET validator using JavaScript? I m using javascript style.display = none to disable parts of a web page. However these disabled parts have asp.net validators that are still firing and I need to disable then without doing a round trip to the server. Thanks.
使用JavaScript禁用ASP.NET验证程序员。
原标题:
最佳回答
使用这段代码:
function doSomething()
{
var myVal = document.getElementById( myValidatorClientID );
ValidatorEnable(myVal, false);
}
问题回答
这是一个老问题,但我惊讶地发现以下答案没有被给出。我使用了上面的评论来实现它,它可以完美地工作。
# enable validation
document.getElementById( <%=mytextbox.ClientID%> ).enabled = true
#disable validation
document.getElementById( <%=mytextbox.ClientID%> ).enabled = false
这个实现可能会有一些棘手,因为请记住,如果javascript有误,代码会退出,但您不会收到任何错误。以下是一些有用的提示。
请确保您可以设置断点 并且 可以单步执行代码。如果无法,请重新启动浏览器。
将断点设置在您放置此代码的函数开头。如果有错误,请逐步执行代码,代码将退出并且您将无法进入代码。
在火狐浏览器的Firebug中,您可以在控制台选项卡中键入整个Javascript语句,以查看您的语句返回的内容。最重要的是,您需要检查控件的非空值。
最好的方法像这样做,
function doSomething()
{
var objvalidator = document.getElementById( myValidatorClientID );
objvalidator.enabled = false;
objvalidator.isvalid = true;
ValidatorUpdateDisplay(objvalidator);
}
根据Glenn G上面的评论,我会使用
myVal.enabled = false;
禁用验证器而不是
ValidatorEnable(myVal, false);
这是我所经历的:这两个片段在我的2003服务器上使用.net框架2.0都可以正常工作。然而,在具有.net框架4.0的server 2008 R2上(我不确定是哪个导致了问题),我在“ValidatorEnable”中遇到了意外的行为。我的页面上有选项卡(用户控件),当我离开调用“ValidatorEnable”的选项卡时,它会在下一个选项卡上暂时禁用验证器(即使没有调用代码来禁用它们),直到下一个postback。
此外,您可以将Visible属性设置为false而不仅仅隐藏元素...
无论什么项目.可见性 = 假;
这将使该项不会被呈现到页面上,我认为这会禁用验证。如果我错了,请有人纠正我。
以下是有關如何從 JavaScript 控制 ASP.NET 驗證程序的詳細文章:
如何从JavaScript控制ASP.NET验证控件的客户端验证。
相关问题
热门标签
- winforms
- combobox
- fogbugz
- java
- date
- internationalization
- asp.net
- iis
- url-rewriting
- urlrewriter
- c#
- enums
- ocaml
- haxe
- algorithm
- string
- viewstate
- .net
- c++
- c
- symbol-table
- mysql
- database
- postgresql
- licensing
- migration
- vb.net
- vb6
- declaration
- vb6-migration
- python
- psycopg2
- backup
- vmware
- virtualization
- gnu-screen
- authentication
- desktop
- excel
- xll
- cultureinfo
- regioninfo
- oracle
- client
- session
- download
- html
- virtual
- constructor
- scenarios
- perl
- full-text-search
- javascript
- ajax
- testing
- oop
- inheritance
- vim
- encapsulation
- information-hiding