Lib*_*cks 15 javascript asp.net jquery
我试图使用jquery禁用验证器.
我已经看过 使用JavaScript禁用ASP.NET验证器 ,其他几个做同样的事情.
它似乎不起作用,但它的突破.
我的代码:
$('.c_MyValdiators').each(function() {
var x = $(this).attr('id');
var y = document.getElementById(x);
ValidatorEnable(y[0], false);
});
Run Code Online (Sandbox Code Playgroud)
我得到错误: val未定义[打破此错误] val.enabled =(启用!= false);\r \n
或者,如果我使用
$('.c_MyValdiators').each(function() {
ValidatorEnable($(this), false); OR ValidatorEnable($(this[0]), false);
});
Run Code Online (Sandbox Code Playgroud)
我得到错误:
val.style未定义[打破此错误] val.style.visibility = val.isvalid?"隐藏":"可见";\r \n
有什么想法或建议吗?
我相信ValidatorEnable采用ASP.net ID而不是ASP.net生成的ClientID.您还需要在CodeBehind中进行验证.
这是一个例子:
特别有用的是能够启用或禁用验证器.如果您只想在某些情况下进行验证,则可能需要更改服务器和客户端上的激活,否则您将发现用户无法提交页面.
这是上一个带有字段的示例,只有在取消选中复选框时才能验证该字段:
public class Conditional : Page {
public HtmlInputCheckBox chkSameAs;
public RequiredFieldValidator rfvalShipAddress;
public override void Validate() {
bool enableShip = !chkSameAs.Checked;
rfvalShipAddress.Enabled = enableShip;
base.Validate();
}
}
Run Code Online (Sandbox Code Playgroud)
这是客户端的等价物:
<input type=checkbox runat=server id=chkSameAs
onclick="OnChangeSameAs();" >Same as Billing<br>
<script language=javascript>
function OnChangeSameAs() {
var enableShip = !event.srcElement.status;
ValidatorEnable(rfvalShipAddress, enableShip);
}
</script>
Run Code Online (Sandbox Code Playgroud)
参考:http://msdn.microsoft.com/en-us/library/aa479045.aspx
我只是偶然发现了你的问题[一年后].我也想使用JQuery在页面上禁用所有验证器,这是我处理它的方式.
$('span[evaluationfunction]').each(function(){ValidatorEnable(this,false);});
Run Code Online (Sandbox Code Playgroud)
我在页面上查找具有evaluatefunction属性的每个span,然后为每个span调用ValidatorEnabled.
我认为代码的$('this')部分是导致hickup的原因.
归档时间: |
|
查看次数: |
18723 次 |
最近记录: |