Max*_*ich 8 javascript asp.net client requiredfieldvalidator
我的ASP.NET表单中有一个非标准的提交按钮.
<a class="button" href="#" onclick="this.blur();SubmitForm();"><span>Submit</span></a>
Run Code Online (Sandbox Code Playgroud)
因此,我的所需字段验证器不会在客户端调用.如何通过Javascript调用必需的字段验证器?
或者,是否有更好的方法来完成我想要做的事情?
san*_*ngh 11
您可以在Page_ClientValidate为此命名的内置客户端函数中使用.请查看以下代码片段以供参考
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ClientSide_Validation.aspx.cs"
Inherits="ClientSide_Validation" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function performCheck() {
if (Page_ClientValidate()) {
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="lbl1" runat="server" Text="Please enter some value"></asp:Label>
<asp:TextBox ID="txtbox1" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="valReq" ControlToValidate="txtbox1" runat="server"
ErrorMessage="*" Display="Dynamic">
</asp:RequiredFieldValidator>
<input type="button" id="btnValidate" value="Submit" onclick="performCheck()" />
<a href="#" onclick="performCheck();">Validate</a>
</div>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
Page_ClientValidate 触发对表单上所有验证器的验证,并且@ gilly3显示你也可以通过循环收集和调用来验证它们 ValidatorValidate(validator)
但是,如果您只想验证一个特定的验证器,那么您只需要调用ValidatorValidate(validator)一个项目.
验证器参数需要是一个DOM对象,这可能很难获取,因为如果您使用母版页或用户控件,元素ID可能最终与您在标记中指定的完全不同.
例如
<asp:RequiredFieldValidator ID="rfvCampaignStartDate" runat="server" .../>
Run Code Online (Sandbox Code Playgroud)
变
<span id="cph_0_rfvCampaignFile" ...>
Run Code Online (Sandbox Code Playgroud)
我通过使用像这样的jQuery选择器在我的一个项目中解决了这个问题
ValidatorValidate($('[id$="rfvCampaignFile"]').get(0));
Run Code Online (Sandbox Code Playgroud)
ASP.NET只为ID添加前缀以创建一个唯一的名称我可以使用id$=选择器的一部分来匹配自我"rfvCampaignFile"编写网站以来结束的任何ID 我知道它不会与其他控件冲突.最后我.get(0)用来将DOM对象引用返回到第一个(并且仅在我的情况下)DOM对象匹配.
| 归档时间: |
|
| 查看次数: |
27839 次 |
| 最近记录: |