Maison interface Web js tutoriel La vérification jquery ajax échoue et le formulaire est soumis pour résoudre le problème_jquery

La vérification jquery ajax échoue et le formulaire est soumis pour résoudre le problème_jquery

May 16, 2016 pm 04:27 PM
ajax jquery

validationEngine nous réduit beaucoup de travail dans la validation frontale des formulaires. Dans la plupart des cas, nous utilisons validationEngine pour valider les formulaires de plusieurs manières :

1 Utilisez la soumission normale du formulaire. Dans ce cas, le formulaire ne sera pas soumis si validationEngine échoue à la vérification.

2 Utilisez ajax pour soumettre le formulaire, mais n'utilisez pas la vérification ajax.

Cette méthode est également relativement simple, il suffit de vérifier si la vérification est réussie avant d'utiliser la requête ajax, par exemple :

Copier le code Le code est le suivant :

//revient lorsque la vérification échoue
If(!$("form#ajaxForm").validationEngine("validate")) return
$.ajax({
Tapez : "POST",
URL : $("#ajaxForm").attr("action"),
Données : $("#ajaxForm").serialize(),
Type de données : "html",
Succès : fonction(données){
                                                  });

3 Utilisez le formulaire normal pour soumettre, mais utilisez la vérification ajax. Cette méthode est un peu déroutante. Lorsque nous soumettons le formulaire, le formulaire peut être soumis même si la vérification ajax ne réussit pas. Concernant cette situation, de nombreux exemples sont disponibles. Internet doit changer le code source, ce qui suit est une capture d'écran :

. Cette méthode est réalisable pour la situation actuelle. Cette méthode de modification elle-même n'est pas recommandée et peut avoir un impact sur d'autres endroits. L'une des choses que j'ai trouvées est lorsque la situation suivante se produit :

.

Copier le code Le code est le suivant :
fonction avantAppel(formulaire,options){
Si(window.console){
console.log("Une fois la vérification de la soumission du formulaire réussie, le rappel avant la soumission Ajax"); };
Renvoie vrai ;
};
//
function ajaxValidationCallback(status,form,json,options){
Si(window.console){
console.log(statut);
};
Si(statut === vrai){
alert("le formulaire est valide!");
}  
};
jQuery(document).ready(function(){
jQuery("#formID").validationEngine({
ajaxFormValidation : true, //Utiliser ou non Ajax pour soumettre le formulaire
ajaxFormValidationMethod : 'post', //Définissez la manière d'envoyer les données lorsque Ajax les soumet
onAjaxFormComplete : ajaxValidationCallback, //Soumission du formulaire, une fois la vérification Ajax terminée
onBeforeAjaxFormValidation : beforeCall //Une fois la vérification de la soumission du formulaire réussie, le rappel avant la soumission Ajax
});
});


beforeCall Cette méthode ne sera pas appelée, elle ne peut donc toujours pas être utilisée

4 Utilisez ajax pour vérifier et soumettre le formulaire en utilisant ajax. Cette méthode prête à confusion et la méthode de modification du code source ci-dessus n'est pas facile à utiliser.

Pour les troisième et quatrième méthodes, les solutions sont les suivantes :

Ajoutez l'attribut personnalisé control="userName,email" à la balise de formulaire qui utilise la vérification ajax. La valeur de l'attribut est l'ID du contrôle à vérifier à l'aide d'ajax (plusieurs contrôles sont séparés par des virgules).



Ajoutez deux attributs url (l'adresse de la requête ajax) et error (le message d'invite en cas d'échec) à chaque contrôle qui doit être vérifié


Déclarez deux tableaux globaux en javascript

Copier le code Le code est le suivant :

var controlId = new Array(); //Enregistre l'ID de contrôle dont la vérification a échoué
var error = new Array(); //Enregistre le message d'invite en cas d'échec de la vérification

L'idée est d'obtenir la valeur de l'attribut de contrôle sur la balise de formulaire (utilisez des virgules pour séparer chaque ID de contrôle), d'utiliser ajax pour parcourir la requête, et lorsque la vérification échoue, d'ajouter l'ID de contrôle et d'inviter les informations à controlId et les erreurs. et les informations d'invite. Lors de la soumission du formulaire, déterminez si le controlId est vide. S'il n'est pas vide, les informations d'invite seront affichées en boucle

.

Copier le code Le code est le suivant :

$(fonction() {
var ajaxForm2Controls = $("form#ajaxForm2Controls")
//Quand le formulaire est soumis
$(ajaxForm2Controls).submit(function() {
ajaxForm2Control(ajaxForm2Controls) ;
          return false ;                                  }) ;
//Valider les contrôles en cas de perte de focus
valControls(ajaxForm2Controls);
});

Méthode de soumission du formulaire :

Copier le code Le code est le suivant :
function ajaxForm2Control(obj) {
//Retour lorsqu'il y a un message d'erreur et afficher le message d'erreur
If(controlId.length > 0) {
alertinfo() ;
          return false ;                                        }  
If(!$(obj).validationEngine("validate")) return false; //Vérifie les contrôles qui n'utilisent pas la vérification ajax (les champs qui ne sont pas vérifiés ajax peuvent être vérifiés normalement et seront renvoyés s'ils échouent)
$.ajax({
Tapez : "POST",
URL : $(obj).attr("action"),
Données : $(obj).serialize(),
Type de données : "html",
Succès : fonction(données){
                                                                                         }                                                                                                   });
}



Ajouter un événement focus au formulaire

Copier le code

Le code est le suivant :

//Contrôles à vérifier sous le formulaire
function valControls(ajaxForm2Controls) {
//Obtenir les contrôles qui nécessitent une vérification ajax
var contrôlesStr = ajaxForm2Controls.attr("contrôle");
//Retour lorsque l'attribut n'est pas défini
If(typeof(controlsStr) === "undefined" || CONTROLSStr.length <= 0) return
//Obtenir séparément l'ID de contrôle
var contrôles = contrôlesStr.split(/,/g)
for(var i dans les contrôles) {
//Ajouter un événement de sortie de focus
           $("#" contrôles[i]).blur(function() { 
If($(this).val().length <= 0) renvoie false
//Réinitialise le tableau
                  controlId.length = 0 ;                                         erreurs.longueur = 0 ;                           //Message d'erreur
            var erreur = $(this).attr("erreur") ;  
$.ajax({
Tapez : "OBTENIR",
​​​​​​ url : $(this).attr("url"),
Données : $(this).serialize(),
Type de données : "texte",
Succès : fonction(données){
Si(data==="true") {
//Mettez le message d'erreur dans le tableau si la vérification échoue
                                                                                                                                                                                                                                                              controlId.push(controls[i]);                                                           erreurs.push(erreur);                                                                                                                                                                             alertinfo() ;
                                                                                                                                                                                                                                                                         });                                      }) ;                           }  
}



Message d'erreur :





Copier le code

Le code est le suivant :


//Message contextuel
fonction alertinfo() {
If(controlId.length > 0) {
for(var i in controlId) {
//méthode validationEngine, affiche une invite pour l'ID spécifié
.                                                            // Utilisation :$("#id").validationEngine("showPrompt","Contenu de l'invite","load");                                                                                                                                                                                                                                      //                  $("#" controlId[i]).validationEngine("showPrompt", erreurs[i], "erreur");                                                                             }  
}



De cette façon, lorsque nous soumettons le formulaire de la troisième ou quatrième manière, nous pouvons simplement appeler le controlId pour voir s'il y a une valeur avant de le soumettre.
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser la méthode de requête PUT dans jQuery ? Comment utiliser la méthode de requête PUT dans jQuery ? Feb 28, 2024 pm 03:12 PM

Comment utiliser la méthode de requête PUT dans jQuery ? Dans jQuery, la méthode d'envoi d'une requête PUT est similaire à l'envoi d'autres types de requêtes, mais vous devez faire attention à certains détails et paramètres. Les requêtes PUT sont généralement utilisées pour mettre à jour des ressources, comme la mise à jour de données dans une base de données ou la mise à jour de fichiers sur le serveur. Ce qui suit est un exemple de code spécifique utilisant la méthode de requête PUT dans jQuery. Tout d'abord, assurez-vous d'inclure le fichier de la bibliothèque jQuery, puis vous pourrez envoyer une requête PUT via : $.ajax({u

PHP et Ajax : créer un moteur de suggestions de saisie semi-automatique PHP et Ajax : créer un moteur de suggestions de saisie semi-automatique Jun 02, 2024 pm 08:39 PM

Créez un moteur de suggestions de saisie semi-automatique en utilisant PHP et Ajax : Script côté serveur : gère les requêtes Ajax et renvoie des suggestions (autocomplete.php). Script client : envoyer une requête Ajax et afficher des suggestions (autocomplete.js). Cas pratique : Incluez le script dans la page HTML et spécifiez l'identifiant de l'élément d'entrée de recherche.

Comment obtenir des variables de la méthode PHP en utilisant Ajax ? Comment obtenir des variables de la méthode PHP en utilisant Ajax ? Mar 09, 2024 pm 05:36 PM

L'utilisation d'Ajax pour obtenir des variables à partir de méthodes PHP est un scénario courant dans le développement Web. Grâce à Ajax, la page peut être obtenue dynamiquement sans actualiser les données. Dans cet article, nous présenterons comment utiliser Ajax pour obtenir des variables à partir de méthodes PHP et fournirons des exemples de code spécifiques. Tout d’abord, nous devons écrire un fichier PHP pour gérer la requête Ajax et renvoyer les variables requises. Voici un exemple de code pour un simple fichier PHP getData.php :

Conseils jQuery : modifiez rapidement le texte de toutes les balises a de la page Conseils jQuery : modifiez rapidement le texte de toutes les balises a de la page Feb 28, 2024 pm 09:06 PM

Titre : jQuery Astuces : Modifier rapidement le texte de toutes les balises a de la page En développement web, nous avons souvent besoin de modifier et d'exploiter des éléments de la page. Lorsque vous utilisez jQuery, vous devez parfois modifier le contenu textuel de toutes les balises de la page en même temps, ce qui peut économiser du temps et de l'énergie. Ce qui suit explique comment utiliser jQuery pour modifier rapidement le texte de toutes les balises a de la page et donne des exemples de code spécifiques. Tout d'abord, nous devons introduire le fichier de la bibliothèque jQuery et nous assurer que le code suivant est introduit dans la page : &lt

Utilisez jQuery pour modifier le contenu textuel de toutes les balises Utilisez jQuery pour modifier le contenu textuel de toutes les balises Feb 28, 2024 pm 05:42 PM

Titre : utilisez jQuery pour modifier le contenu textuel de toutes les balises. jQuery est une bibliothèque JavaScript populaire largement utilisée pour gérer les opérations DOM. En développement web, nous rencontrons souvent le besoin de modifier le contenu textuel de la balise de lien (une balise) sur la page. Cet article expliquera comment utiliser jQuery pour atteindre cet objectif et fournira des exemples de code spécifiques. Tout d’abord, nous devons introduire la bibliothèque jQuery dans la page. Ajoutez le code suivant dans le fichier HTML :

PHP vs Ajax : solutions pour créer du contenu chargé dynamiquement PHP vs Ajax : solutions pour créer du contenu chargé dynamiquement Jun 06, 2024 pm 01:12 PM

Ajax (Asynchronous JavaScript et XML) permet d'ajouter du contenu dynamique sans recharger la page. En utilisant PHP et Ajax, vous pouvez charger dynamiquement une liste de produits : HTML crée une page avec un élément conteneur et la requête Ajax ajoute les données à l'élément après l'avoir chargé. JavaScript utilise Ajax pour envoyer une requête au serveur via XMLHttpRequest afin d'obtenir des données produit au format JSON à partir du serveur. PHP utilise MySQL pour interroger les données produit de la base de données et les encoder au format JSON. JavaScript analyse les données JSON et les affiche dans le conteneur de pages. Cliquer sur le bouton déclenche une requête Ajax pour charger la liste de produits.

Comprendre le rôle et les scénarios d'application de eq dans jQuery Comprendre le rôle et les scénarios d'application de eq dans jQuery Feb 28, 2024 pm 01:15 PM

jQuery est une bibliothèque JavaScript populaire largement utilisée pour gérer la manipulation DOM et la gestion des événements dans les pages Web. Dans jQuery, la méthode eq() est utilisée pour sélectionner des éléments à une position d'index spécifiée. Les scénarios d'utilisation et d'application spécifiques sont les suivants. Dans jQuery, la méthode eq() sélectionne l'élément à une position d'index spécifiée. Les positions d'index commencent à compter à partir de 0, c'est-à-dire que l'index du premier élément est 0, l'index du deuxième élément est 1, et ainsi de suite. La syntaxe de la méthode eq() est la suivante : $("s

Comment savoir si un élément jQuery possède un attribut spécifique ? Comment savoir si un élément jQuery possède un attribut spécifique ? Feb 29, 2024 am 09:03 AM

Comment savoir si un élément jQuery possède un attribut spécifique ? Lorsque vous utilisez jQuery pour exploiter des éléments DOM, vous rencontrez souvent des situations dans lesquelles vous devez déterminer si un élément possède un attribut spécifique. Dans ce cas, nous pouvons facilement implémenter cette fonction à l'aide des méthodes fournies par jQuery. Ce qui suit présentera deux méthodes couramment utilisées pour déterminer si un élément jQuery possède des attributs spécifiques et joindra des exemples de code spécifiques. Méthode 1 : utilisez la méthode attr() et l'opérateur typeof // pour déterminer si l'élément a un attribut spécifique

See all articles