jQuery 验证输入 id 和 submitHandler
jQuery validate input id and submitHandler
我在用户控件中有两个表单,使用 jQuery 和 Ajax 发送电子邮件。不幸的是,我们的 cms 使用 .NET Web 窗体和母版页,这使得名称属性发生变化。这使得使用 jquery 验证变得困难,因为它是基于属性名称的。你对我如何解决这个问题有什么建议吗?
代码
$(function () {
$("#tbSendComment").click(function (e) {
$('#formComment').validate({
rules: {
ctl00$mainPlaceHolder$ctl02$tbCommentSubject: "required",
ctl00$mainPlaceHolder$ctl02$tbCommentMessage: "required",
ctl00$mainPlaceHolder$ctl02$tbCommentName: "required",
ctl00$mainPlaceHolder$ctl02$tbCommentEmail: {
required: true,
email: true
}
},
submitHandler: function (form) {
var obj = {};
var Uri = '<%: Uri %>';
var Title = '<%: Title %>';
obj.subject = $("#tbCommentSubject").val();
obj.message = $("#tbCommentMessage").val();
obj.name = $("#tbCommentName").val();
obj.fromEmail = $("#tbCommentEmail").val();
obj.cc = $("#cbSendMeCoppyComment").prop('checked');
obj.title = Title;
obj.uri = Uri;
var jsonData = JSON.stringify(obj);
$.ajax({
type: "POST",
url: "/leaveacomment",
data: jsonData,
success: function successFunc(data) {
etc
etc
您可以使用Web Form的特殊解决方案轻松解决这个问题:
与其硬编码整个名称,不如使用动态 control.UniqueID
control.UniqueID
是 .NET 在客户端用于您的元素 name
属性的内容
Unfortunately, our cms using .NET Web Forms and master pages, which makes name attribute changing.
您永远不必担心元素名称的变化,因为它会随着元素名称的变化而动态变化
在客户端使用:
var name = "<%= txtTest.UniqueID %>";
我在用户控件中有两个表单,使用 jQuery 和 Ajax 发送电子邮件。不幸的是,我们的 cms 使用 .NET Web 窗体和母版页,这使得名称属性发生变化。这使得使用 jquery 验证变得困难,因为它是基于属性名称的。你对我如何解决这个问题有什么建议吗?
代码
$(function () {
$("#tbSendComment").click(function (e) {
$('#formComment').validate({
rules: {
ctl00$mainPlaceHolder$ctl02$tbCommentSubject: "required",
ctl00$mainPlaceHolder$ctl02$tbCommentMessage: "required",
ctl00$mainPlaceHolder$ctl02$tbCommentName: "required",
ctl00$mainPlaceHolder$ctl02$tbCommentEmail: {
required: true,
email: true
}
},
submitHandler: function (form) {
var obj = {};
var Uri = '<%: Uri %>';
var Title = '<%: Title %>';
obj.subject = $("#tbCommentSubject").val();
obj.message = $("#tbCommentMessage").val();
obj.name = $("#tbCommentName").val();
obj.fromEmail = $("#tbCommentEmail").val();
obj.cc = $("#cbSendMeCoppyComment").prop('checked');
obj.title = Title;
obj.uri = Uri;
var jsonData = JSON.stringify(obj);
$.ajax({
type: "POST",
url: "/leaveacomment",
data: jsonData,
success: function successFunc(data) {
etc
etc
您可以使用Web Form的特殊解决方案轻松解决这个问题:
与其硬编码整个名称,不如使用动态 control.UniqueID
control.UniqueID
是 .NET 在客户端用于您的元素 name
属性的内容
Unfortunately, our cms using .NET Web Forms and master pages, which makes name attribute changing.
您永远不必担心元素名称的变化,因为它会随着元素名称的变化而动态变化
在客户端使用:
var name = "<%= txtTest.UniqueID %>";