Maison  >  Questions et réponses  >  le corps du texte

Le chargeur apparaît et cesse de fonctionner : erreur de formulaire lors de la soumission de la page

<p>J'utilise actuellement ce javascript pour afficher un chargeur lorsque vous cliquez sur le bouton Soumettre. Lorsqu'il n'y a aucune erreur de formulaire, le chargeur fonctionne correctement et affiche la réponse après avoir attendu. Cependant, lorsqu'une erreur de saisie de formulaire apparaît, le chargeur continue de tourner et la demande n'est pas soumise au backend, mais le chargeur tourne indéfiniment. </p> <pre class="brush:php;toolbar:false;"><div id="loader" class= "superposition cachée lds-dual-ring" > <div class="superposition cachée lds-dual-ring"> <div class="loadcontent"><div><strong>Votre demande est en cours de traitement... Cela peut prendre jusqu'à 2 minutes. </strong></div></div> </div></pre> <pre class="brush:php;toolbar:false;">$('#submitBtn').click(function () { $('#loader').removeClass('caché') // $('#loader').html('Chargement').addClass('loadcontent') // $("#loading").html("Chargement"); }) </script>``` Il s'agit de la ligne de code qui correspond au modèle et effectue la validation du formulaire lorsque vous cliquez sur Soumettre. ≪/pré> <pre class="brush:php;toolbar:false;"><div class="form-group"> <div class="form-control"style="padding: 0;"> {% ifequal field.name 'Port' %} {% render_field field class="rowforinput marginforfields form-control" style="hauteur : 23px; marge-droite : 0" titre=" / 16" motif ="^[12]/1/(?:[1-3]d|4[0-8]|[1-9])$" requis = vrai %} {% endifequal %} </div> </div></pre> <pre class="brush:php;toolbar:false;">Comment puis-je faire en sorte que ce script de chargement ne s'exécute que lorsqu'il n'y a aucune erreur de saisie dans le formulaire ? Je travaille avec Django, Javascript et html et je suis débutant en JS. </pre></p>
P粉216203545P粉216203545434 Il y a quelques jours555

répondre à tous(1)je répondrai

  • P粉148434742

    P粉1484347422023-09-05 09:38:52

    J'ai demandé la solution à beaucoup de gens mais je suppose que personne ne pouvait comprendre le problème sans voir le code complet donc personne n'a proposé de solution et finalement voici la solution :

    Mon code javascript se déclenche sur l'événement "click" et je dois le remplacer par l'événement "submit" pour tenir compte de mon identifiant de formulaire. C'est ça! !

    Mon nouveau code javascript est donc le suivant :

    $('#configForm').submit(function () {
    
    
            $('#loader').removeClass('hidden')
            console.log("HERE LOADER")
            // $('#loader').html('Loading').addClass('loadcontent')
    
      
    
    
            // $("#loading").html("Loading");
    
        })
    </script>

    Ça y est, c'est la solution.

    répondre
    0
  • Annulerrépondre