JQueryvalidation引擎无法在主页文件的ASP页面中工作
我从http://www.position-absolute.com/articles/jquery-form-validator-because-form-validation-is-a-mess/下载了这个jqueryvalidation引擎
除了确认密码validation之外,所有validation都正常工作,它会validation密码是否匹配的所有时间。
validation在单个页面上工作,但它不在母版页的内容页面中工作。
请帮我…
.aspx文件
jQuery(document).ready(function () { // binds form submission and fields to the validation engine jQuery("#form1").validationEngine(); });
好的,所以你在这里有几件事。 首先,您可能不应该在内容页面中放置表单元素。 典型的ASP.NET表单在母版页中。 你可能会为自己做更多的工作但是……我可以理解你为什么要这样做。 因此,您的主要问题是,当您在母版页中有内容时(默认行为),ID字段将获得前缀,以便它们不会与其他占位符中的内容的ID冲突。
如果您查看源,“TextBox1”将看起来像
您的validation正在寻找TextBox1而不是MainContent_TextBox1。
你有几个选择。 重要的是要了解每个人的后果(我会留给你研究)。
选项1:在母版页的顶部(在其声明中),您可以将其放在ClientIDMode =“Static”中。 ASP.NET不会触及您的ID,如果它们发生冲突,则由您负责。
选项2:我不关心这个,但偶尔使用它。 从asp.net获取客户端ID
validate [required,equals [<%= TextBox1.ClientID%>]]
选项3:可能还有其他可能放入jquery选择器,找到像TextBox1这样的id
希望这可以帮助
当.net呈现时,它会更改表单ID,而不是使用:
jQuery("#form1").validationEngine();
请用:
jQuery("form").validationEngine();
查看源代码并获取表单的ID并将其放在那里
我遇到了同样的问题并解决了这个问题。
你可以轻松地做到。
添加到主页顶部(我只添加了ClientIDMode =“静态”)
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="geneticAjans.master.cs" Inherits="geneticAjans_gen" ClientIDMode="Static" %>
添加到$(文件).ready(); (你应该写你的母版页面表单id)
$("#Button1").click(function(){ if ($("#form1").validationEngine('validate') == false) return false; });
现在,您的JQueryvalidation引擎应该可行。
- 从XMLHttpRequest对象中删除cookie
- 如何使用jquery wth out page refresh调用服务器端函数?
- 在Webservice ajax调用中的Modal Popup Extender中显示加载图像
- 使用jquery将DataTable传递给Json
- 使用jquery向html表添加行,并使用asp.net将html表导出到excel文件
- 如何使用jquery从列表框中禁用多项选择? 还是javascript?
- 从另一个DropDownList填充DropDownList
- ASP.NET:使用jQuery手动更新UpdatePanel
- 有没有办法让VS 2005中创建的ASMX Web服务接收并返回JSON?