Ich habe zwei Formulare in einem Benutzersteuerelement, eine E-Mail-Nachricht mit jQuery und Ajax. Leider verwenden unsere CMS .NET Web Forms und Masterseiten, wodurch sich das Namensattribut ändert. Dies macht die Verwendung von jquery validate schwierig, da es auf dem Attributnamen basiert. Hast du irgendwelche Vorschläge, wie ich das lösen kann?jQuery validate Eingabe-ID und submitHandler
-Code
$(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
http://stackoverflow.com/questions/619816/jquery-validation-plugin-in-asp-net-web-forms – BenG
Ja, ich habe das gesehen, aber ich kann es nicht mit meinem submitHandler arbeiten, die h Ich brauche, damit mein Formular nicht gepostet wird, falls die Validierung fehlschlägt. – Jonas
Sie sollten die '.validate()' Methode nicht innerhalb einer 'click' Handler Funktion haben. Der einzige Zweck von '.validate()' ist *** *** *** *** das Plugin auf Ihrem Formular zu initialisieren. Diese Methode wird nicht jedes Mal ausgelöst, wenn Sie auf eine Schaltfläche klicken, da das Plugin das Klickereignis automatisch erfasst. Wenn Sie ASP verwenden, wird die '.validate()' Methode automatisch vom 'deeptrugous-validation' Plugin erstellt und Ihre Version von' .validate() 'wird immer ignoriert. – Sparky