Partage
  • Partager sur Facebook
  • Partager sur Twitter

Vérifier formulaire avec jQuery

blocage de formulaire avec event.preventDefault();

Sujet résolu
    29 septembre 2016 à 21:46:34

    Bonjour: 

    J'ai un problème dont la solution m'échappe jusqu'alors ... 

    j'ai un formulaire php (tout ce qu'il y a de classique je vous épargne le code)

    J'ai sécurisé ce formulaire sur la couche client via un script jQuery. En gros lorsqu'un champs est mal rempli pouf une div alert apparait comme par magie :magicien:

    Mais j'ai un champs qui fait de la résistance ... (c'est pas un problème d'id j'ai quand même vérifié hein ;) ) pour vérifier les informations de ce champs, je récupère sa valeur dans une variable que j'envoie en AJAX à un script php. Ce dernier fait ça tambouille et me renvoie OK  ou NOK. 

    Ensuite je récupère en callback cette variable et je pose mes conditions; si NOK je bloque le submit et une div alert apparait,  si OK paf je libère le submit et bim le formulaire est envoyé. Vous l'aurais deviné mes conditions ne sont jamais respecter et le formulaire est envoyé systématiquement .. 

    voici le code jQuery : (je ne vous envoie pas le php, il m'envoie juste une variable "oui" ou "non" en chaine de caractère) 

    $('#forman').submit(function(event){		
    
    	$.post('./model/lib_check_usercreate_ville.php',{ville:ville}, function(isvilleexist){				
    				
    		if (isvilleexist=="non") // si le champs contient le nom d'une ville qui n'existe pas 
    		{
    			$('#villealert').show(); // affichage de l'alerte : ville inconnue 
    			event.preventDefault(); // blocage du form 
    		}
    
    		else
    		{
    
    			$('#forman').unbind('submit');	// si non libération du form			
    		}
    
    	});
    
    });

    bon si non j'arrive à faire ce que je veux en mettant le event.preventDefault(); avant la requête AJAX mais dans ce cas je suis obligé de double cliquer sur le submit ... bref je sent que je suis pas loin mais je patauge ... 

    des idées ? 



    -
    Edité par capitaine_price 29 septembre 2016 à 22:05:30

    • Partager sur Facebook
    • Partager sur Twitter
    Ça tombe pas dans l'orteil d'un sourd ...
      30 septembre 2016 à 9:10:14

      Salut,

      Il faut que tu mettes le e.preventDefault() qui va juste bloquer l'action par défaut de ton form à savoir se submit.

      Et au lieu de bind unbid, submit ton form manuellement :

      $('#forman').submit(function(event){       
         event.preventDefault();
          $.post('./model/lib_check_usercreate_ville.php',{ville:ville}, function(isvilleexist){             
                       
              if (isvilleexist=="non") // si le champs contient le nom d'une ville qui n'existe pas
              {
                  $('#villealert').show(); // affichage de l'alerte : ville inconnue
                  event.preventDefault(); // blocage du form
              }
       
              else
              {
       
                  $('#forman').submit();  // si non libération du form           
              }
       
          });
       
      });



      • Partager sur Facebook
      • Partager sur Twitter
      Quand tu ne sais pas, Google reste ton meilleur ami ! ;)
        2 octobre 2016 à 17:17:54

        merci pour la réponse, mais ça ne marche pas des masses :p

        entre temps j'ai trouvé ça :

        $('#forman').submit(function(event){
        
        event.preventDefault();
        
        				$.post('./model/lib_check_usercreate_ville.php',{ville:ville}, function(isvilleexist){				
        				
        
        					if (isvilleexist=="non")
        					{
        						$('#villealert').show();
        						event.preventDefault();
        					}
        
        					else
        					{
        						$('#forman').unbind('submit').find('#submit').trigger('click');		
        					}
        
        				});
        
        		}
        
        
        });



        et du tout ça ce goupille bien :pirate:

        • Partager sur Facebook
        • Partager sur Twitter
        Ça tombe pas dans l'orteil d'un sourd ...

        Vérifier formulaire avec jQuery

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown