Heim Web-Frontend js-Tutorial Die Jquery-Ajax-Überprüfung schlägt fehl und das Formular wird gesendet, um das Problem_jquery zu lösen

Die Jquery-Ajax-Überprüfung schlägt fehl und das Formular wird gesendet, um das Problem_jquery zu lösen

May 16, 2016 pm 04:27 PM
ajax jquery

validationEngine reduziert für uns eine Menge Arbeit bei der Front-End-Formularvalidierung. In den meisten Fällen verwenden wir validationEngine, um Formulare auf verschiedene Arten zu validieren:

1 Verwenden Sie die normale Formularübermittlung. In diesem Fall wird das Formular nicht übermittelt, wenn die Überprüfung durch validationEngine fehlschlägt.

2 Verwenden Sie Ajax, um das Formular zu senden, aber verwenden Sie keine Ajax-Verifizierung.

Auch diese Methode ist relativ einfach. Überprüfen Sie einfach, ob die Überprüfung bestanden wurde, bevor wir eine Ajax-Anfrage verwenden, zum Beispiel:

Code kopieren Der Code lautet wie folgt:

//zurückgeben, wenn die Überprüfung fehlschlägt
If(!$("form#ajaxForm").validationEngine("validate")) return ; $.ajax({
Geben Sie ein: „POST“,
URL: $("#ajaxForm").attr("action"),
Daten: $("#ajaxForm").serialize(),
Datentyp: „html“,
Erfolg: function(data){
                                                    });


3 Verwenden Sie zum Senden das normale Formular, aber verwenden Sie die Ajax-Überprüfung. Wenn wir das Formular absenden, kann das Formular nicht übermittelt werden Das Internet soll den Quellcode ändern, das Folgende ist ein Screenshot:

Diese Methode ist für die aktuelle Situation nicht empfehlenswert und kann Auswirkungen auf andere Orte haben:

Funktion beforeCall(form,options){
If(window.console){
console.log("Nachdem die Überprüfung der Formularübermittlung bestanden wurde, erfolgt der Rückruf vor der Ajax-Übermittlung"); };
Rückgabe wahr;
};
//
Funktion ajaxValidationCallback(status,form,json,options){
If(window.console){
console.log(status);
};
If(status === true){
warning("das Formular ist gültig!");
}  
};
jQuery(document).ready(function(){
jQuery("#formID").validationEngine({
ajaxFormValidation: true, // Ob Ajax zum Senden des Formulars verwendet werden soll
ajaxFormValidationMethod: 'post', //Legen Sie die Art und Weise fest, wie Daten gesendet werden sollen, wenn Ajax
sendet onAjaxFormComplete: ajaxValidationCallback, //Formularübermittlung, nachdem die Ajax-Überprüfung abgeschlossen ist
onBeforeAjaxFormValidation: beforeCall //Nachdem die Überprüfung der Formularübermittlung bestanden wurde, erfolgt der Rückruf vor der Ajax-Übermittlung
});
});



beforeCall Diese Methode wird nicht aufgerufen und kann daher immer noch nicht verwendet werden
4 Verwenden Sie Ajax, um das Formular mit Ajax zu überprüfen und zu senden. Diese Methode ist verwirrend und die obige Methode zum Ändern des Quellcodes ist nicht einfach zu verwenden.

Für die dritte und vierte Methode lauten die Lösungen wie folgt:

Fügen Sie das benutzerdefinierte Attribut control="userName,email" zum Formular-Tag hinzu, das die Ajax-Überprüfung verwendet. Der Attributwert ist die ID des Steuerelements, das mithilfe von Ajax überprüft werden soll (mehrere Steuerelemente werden durch Kommas getrennt).



Fügen Sie jedem Steuerelement, das überprüft werden muss, zwei Attribute hinzu: URL (die Adresse der Ajax-Anfrage) und Fehler (die Eingabeaufforderung, wenn die Anfrage fehlschlägt)

Deklarieren Sie zwei globale Arrays in Javascript

Code kopieren Der Code lautet wie folgt:

var controlId = new Array(); //Speichern Sie die Kontroll-ID, bei der die Überprüfung fehlgeschlagen ist
varerrors = new Array(); //Speichern Sie die Eingabeaufforderung für eine fehlgeschlagene Überprüfung

Die Idee besteht darin, den Wert des Steuerattributs im Formular-Tag abzurufen (verwenden Sie Kommas, um jede Steuer-ID zu trennen), Ajax zum Durchlaufen der Anforderung zu verwenden und, wenn die Überprüfung fehlschlägt, die Steuer-ID und Eingabeaufforderungsinformationen zur Steuer-ID hinzuzufügen und Fehler. Stellen Sie beim Absenden des Formulars fest, ob die Steuer-ID leer ist. Die Eingabeaufforderungsinformationen werden in einer Schleife angezeigt

Code kopieren Der Code lautet wie folgt:
$(function() {
var ajaxForm2Controls = $("form#ajaxForm2Controls")
//Wenn das Formular gesendet wird
$(ajaxForm2Controls).submit(function() {
ajaxForm2Control(ajaxForm2Controls) ;           return false ;                                   }) ;
//Steuerelemente validieren, wenn der Fokus verloren geht
valControls(ajaxForm2Controls);
});



Formularübermittlungsmethode:

Code kopieren Der Code lautet wie folgt: Funktion ajaxForm2Control(obj) {
//Kehre zurück, wenn eine Fehlermeldung vorliegt, und zeige die Fehlermeldung
an If(controlId.length > 0) {
alarminfo() ;
          return false ;                                      }  
If(!$(obj).validationEngine("validate")) return false; //Überprüfen Sie Steuerelemente, die keine Ajax-Überprüfung verwenden (Felder, die nicht über Ajax überprüft werden, können normal überprüft werden und werden zurückgegeben, wenn sie fehlschlagen)
$.ajax({
Geben Sie ein: „POST“,
URL: $(obj).attr("action"),
Daten: $(obj).serialize(),
Datentyp: „html“,
Erfolg: function(data){
                                                                                                                                                                
});
}



Fokusereignis zum Formular hinzufügen

Code kopieren

Der Code lautet wie folgt:

//Steuerelemente, die im Formular
überprüft werden müssen Funktion valControls(ajaxForm2Controls) {
//Steuerelemente abrufen, die eine Ajax-Überprüfung erfordern
var controlStr = ajaxForm2Controls.attr("control");
//Zurückgeben, wenn das Attribut undefiniert ist
If(typeof(controlsStr) === "undefiniert" || ControlsStr.length <= 0) return
//Erhalten Sie separat die Kontroll-ID
var Kontrollen = KontrollenStr.split(/,/g) ; for(var i in Kontrollen) {
//Fokus-Verlassensereignis hinzufügen
           $("#" Controls[i]).blur(function() { 
If($(this).val().length <= 0) return false; //Das Array zurücksetzen
                  controlId.length = 0;                         Fehler.Länge = 0 ;
//Fehlermeldung
            var error = $(this).attr("error") ;   $.ajax({
Geben Sie ein: „GET“,
​​​​​​ URL: $(this).attr("url"),
Daten: $(this).serialize(),
Datentyp: „text“,
Erfolg: function(data){
If(data==="true") {
//Füge die Fehlermeldung in das Array ein, wenn die Überprüfung fehlschlägt
                                                                                                                                                                                                                                                controlId.push(controls[i]);                                                        errors.push(error);                                                                                                                                                                              alarminfo() ;
                                                                                                                                                                                                                                                                         });                                      }) ;                           }  
}



Fehlermeldung:





Code kopieren

Der Code lautet wie folgt:


//Popup-Nachricht
Funktion alarminfo() {
If(controlId.length > 0) {
for(var i in controlId) {
//validationEngine-Methode, öffnet eine Eingabeaufforderung für die angegebene ID
                                                     // Verwendung:$("#id").validationEngine("showPrompt","Prompt content","load");
// & lt; span style = "" & gt; Erstellen Sie eine Eingabeaufforderung in diesem Element, 3 heißt es: "Pass", "Fehler", "Laden" & lt;/span & gt; & lt;/span & gt;                  $("#" controlId[i]).validationEngine("showPrompt",errors[i], "error");                                                                         }  
}



Auf diese Weise können wir beim Absenden des Formulars auf die dritte oder vierte Art einfach die Steuer-ID aufrufen, um vor dem Absenden zu sehen, ob ein Wert vorhanden ist.
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie verwende ich die PUT-Anfragemethode in jQuery? Wie verwende ich die PUT-Anfragemethode in jQuery? Feb 28, 2024 pm 03:12 PM

Wie verwende ich die PUT-Anfragemethode in jQuery? In jQuery ähnelt die Methode zum Senden einer PUT-Anfrage dem Senden anderer Arten von Anfragen, Sie müssen jedoch auf einige Details und Parametereinstellungen achten. PUT-Anfragen werden normalerweise zum Aktualisieren von Ressourcen verwendet, beispielsweise zum Aktualisieren von Daten in einer Datenbank oder zum Aktualisieren von Dateien auf dem Server. Das Folgende ist ein spezifisches Codebeispiel, das die PUT-Anforderungsmethode in jQuery verwendet. Stellen Sie zunächst sicher, dass Sie die jQuery-Bibliotheksdatei einschließen. Anschließend können Sie eine PUT-Anfrage senden über: $.ajax({u

PHP und Ajax: Erstellen einer Autovervollständigungs-Vorschlags-Engine PHP und Ajax: Erstellen einer Autovervollständigungs-Vorschlags-Engine Jun 02, 2024 pm 08:39 PM

Erstellen Sie eine Engine für Autovervollständigungsvorschläge mit PHP und Ajax: Serverseitiges Skript: Verarbeitet Ajax-Anfragen und gibt Vorschläge zurück (autocomplete.php). Client-Skript: Ajax-Anfrage senden und Vorschläge anzeigen (autocomplete.js). Praktischer Fall: Fügen Sie ein Skript in die HTML-Seite ein und geben Sie die Kennung des Sucheingabeelements an.

Wie erhalte ich Variablen aus der PHP-Methode mit Ajax? Wie erhalte ich Variablen aus der PHP-Methode mit Ajax? Mar 09, 2024 pm 05:36 PM

Die Verwendung von Ajax zum Abrufen von Variablen aus PHP-Methoden ist ein häufiges Szenario in der Webentwicklung. Durch Ajax kann die Seite dynamisch abgerufen werden, ohne dass die Daten aktualisiert werden müssen. In diesem Artikel stellen wir vor, wie man Ajax verwendet, um Variablen aus PHP-Methoden abzurufen, und stellen spezifische Codebeispiele bereit. Zuerst müssen wir eine PHP-Datei schreiben, um die Ajax-Anfrage zu verarbeiten und die erforderlichen Variablen zurückzugeben. Hier ist ein Beispielcode für eine einfache PHP-Datei getData.php:

jQuery-Tipps: Ändern Sie schnell den Text aller a-Tags auf der Seite jQuery-Tipps: Ändern Sie schnell den Text aller a-Tags auf der Seite Feb 28, 2024 pm 09:06 PM

Titel: jQuery-Tipps: Ändern Sie schnell den Text aller Tags auf der Seite. In der Webentwicklung müssen wir häufig Elemente auf der Seite ändern und bedienen. Wenn Sie jQuery verwenden, müssen Sie manchmal den Textinhalt aller a-Tags auf der Seite gleichzeitig ändern, was Zeit und Energie sparen kann. Im Folgenden wird erläutert, wie Sie mit jQuery den Text aller Tags auf der Seite schnell ändern können, und es werden spezifische Codebeispiele angegeben. Zuerst müssen wir die jQuery-Bibliotheksdatei einführen und sicherstellen, dass der folgende Code in die Seite eingefügt wird: &lt

Verwenden Sie jQuery, um den Textinhalt aller a-Tags zu ändern Verwenden Sie jQuery, um den Textinhalt aller a-Tags zu ändern Feb 28, 2024 pm 05:42 PM

Titel: Verwenden Sie jQuery, um den Textinhalt aller Tags zu ändern. jQuery ist eine beliebte JavaScript-Bibliothek, die häufig zur Verarbeitung von DOM-Operationen verwendet wird. Bei der Webentwicklung müssen wir häufig den Textinhalt des Link-Tags (eines Tags) auf der Seite ändern. In diesem Artikel wird erläutert, wie Sie mit jQuery dieses Ziel erreichen, und es werden spezifische Codebeispiele bereitgestellt. Zuerst müssen wir die jQuery-Bibliothek in die Seite einführen. Fügen Sie den folgenden Code in die HTML-Datei ein:

PHP vs. Ajax: Lösungen zum Erstellen dynamisch geladener Inhalte PHP vs. Ajax: Lösungen zum Erstellen dynamisch geladener Inhalte Jun 06, 2024 pm 01:12 PM

Ajax (Asynchronous JavaScript and XML) ermöglicht das Hinzufügen dynamischer Inhalte, ohne die Seite neu laden zu müssen. Mit PHP und Ajax können Sie eine Produktliste dynamisch laden: HTML erstellt eine Seite mit einem Containerelement und die Ajax-Anfrage fügt die Daten nach dem Laden zum Element hinzu. JavaScript verwendet Ajax, um über XMLHttpRequest eine Anfrage an den Server zu senden, um Produktdaten im JSON-Format vom Server abzurufen. PHP nutzt MySQL, um Produktdaten aus der Datenbank abzufragen und in das JSON-Format zu kodieren. JavaScript analysiert die JSON-Daten und zeigt sie im Seitencontainer an. Durch Klicken auf die Schaltfläche wird eine Ajax-Anfrage zum Laden der Produktliste ausgelöst.

Verstehen Sie die Rolle und Anwendungsszenarien von eq in jQuery Verstehen Sie die Rolle und Anwendungsszenarien von eq in jQuery Feb 28, 2024 pm 01:15 PM

jQuery ist eine beliebte JavaScript-Bibliothek, die häufig zur DOM-Manipulation und Ereignisbehandlung in Webseiten verwendet wird. In jQuery wird die Methode eq() verwendet, um Elemente an einer bestimmten Indexposition auszuwählen. Die spezifischen Verwendungs- und Anwendungsszenarien sind wie folgt. In jQuery wählt die Methode eq() das Element an einer angegebenen Indexposition aus. Indexpositionen beginnen bei 0 zu zählen, d. h. der Index des ersten Elements ist 0, der Index des zweiten Elements ist 1 und so weiter. Die Syntax der eq()-Methode lautet wie folgt: $("s

Wie kann man feststellen, ob ein jQuery-Element ein bestimmtes Attribut hat? Wie kann man feststellen, ob ein jQuery-Element ein bestimmtes Attribut hat? Feb 29, 2024 am 09:03 AM

Wie kann man feststellen, ob ein jQuery-Element ein bestimmtes Attribut hat? Wenn Sie jQuery zum Betreiben von DOM-Elementen verwenden, stoßen Sie häufig auf Situationen, in denen Sie feststellen müssen, ob ein Element ein bestimmtes Attribut hat. In diesem Fall können wir diese Funktion einfach mit Hilfe der von jQuery bereitgestellten Methoden implementieren. Im Folgenden werden zwei häufig verwendete Methoden vorgestellt, um festzustellen, ob ein jQuery-Element über bestimmte Attribute verfügt, und um spezifische Codebeispiele anzuhängen. Methode 1: Verwenden Sie die Methode attr() und den Operator typeof //, um zu bestimmen, ob das Element ein bestimmtes Attribut hat

See all articles