Partage
  • Partager sur Facebook
  • Partager sur Twitter

Formulaire Jquery

Sujet résolu
    29 novembre 2011 à 8:39:48

    Bonjour,

    Je viens de passer la nuit à essayer de résoudre ce soucis et vu que je n'y connais rien en Jquery, c'est plutôt casse-tête.

    J'ai un formulaire sur lequel j'ai réussi à contrôler les champs et qui mais je n'arrive pas à bloquer l'envoie du formulaire.

    Si quelqu'un si connais en Jquery et pouvais m'aider et m'expliquer un peu car en plus les tutos jquery sont rare.

    Merci d'avance.

    Voilà mon code html :

    <form action="index.php" method="post" id="inscription">
       <fieldset>
    								
    	<legend>Informations</legend>
    		<table class="formulaire_inscription">
    		        <tr>
    				<td class="indication">Pseudo * :</td>
                                    <td><input type="text" maxlength="30" size="15" id="pseudo" name="pseudo" value="" /></td>
                            </tr>
    			<tr>
    				<td class="indication">Mot de passe * : </td>
                                    <td><input type="password" maxlength="30" size="15" id="mdp" name="mdp" /></td>
                            </tr>
    			<tr>
    				<td class="indication">Répetez le mot de passe * :</td>
                                    <td><input type="password" maxlength="30" size="15" id="" name="repeat_mdp" /></td>
                            </tr>
    			<tr>
    				<td class="indication">Adresse email * : </td>
                                    <td><input type="email" size="15" id="" name="email" value="" /></td>
                            </tr>
    						
    		</table>
    					
    	</fieldset>
            <p style="text-align:center;"><input type="submit" src="" id="bt" value="S'inscrire"/></p>
    </form>
    


    Et le mon code Jquery :

    $(document).ready(function()
    { 
    
    	$("input").blur(function()
    	{
    		var name=($(this).attr("name")); 
    		var value=($(this).attr("value")); 
    		var info_form=$(this).next(".info");
    		if(name=="pseudo")
    		{ 
    			document.getElementById("verif_pseudo_vide_erreur").style.display = "none";
    			document.getElementById("verif_pseudo_caractere_erreur").style.display = "none";
    			document.getElementById("verif_pseudo_court_erreur").style.display = "none";
    			document.getElementById("verif_pseudo_long_erreur").style.display = "none";
    			document.getElementById("verif_nb_pseudo_erreur").style.display = "none";
    	
    			if(value!=0)
    			{
    				var regex = /^\w+$/ ;
    				if(regex.test(value))
    				{
    					if(value.length > 2)
    					{
    						if(value.length < 31)
    						{
    							$.ajax
    							({ 
    								type: "GET", 
    								url: "verif_pseudo.php?pseudo="+value, 
    								success:function(data)
    								{ 
    									if(data==1)
    									{ 
    										document.getElementById("verif_nb_pseudo_erreur").style.display = "inline";
    										return false;
    									}
    									else
    									{
    										return true;
    									}
    								} 
    							});
    						}
    						else
    						{
    							document.getElementById("verif_pseudo_long_erreur").style.display = "inline";
    							return false;
    						}
    					}
    					else
    					{
    						document.getElementById("verif_pseudo_court_erreur").style.display = "inline";
    						return false;
    					}
    				}
    				else
    				{
    					document.getElementById("verif_pseudo_caractere_erreur").style.display = "inline";
    					return false;
    				}
    			}
    			else
    			{
    				document.getElementById("verif_pseudo_vide_erreur").style.display = "inline";
    				return false;
    			}
    		}
    		else if(name=="mdp")
    		{
    			document.getElementById("verif_mdp_vide_erreur").style.display = "none";
    			document.getElementById("verif_mdp_caractere_erreur").style.display = "none";
    			document.getElementById("verif_mdp_court_erreur").style.display = "none";
    			document.getElementById("verif_mdp_long_erreur").style.display = "none";
    			
    			if(value.length != 0)
    			{
    				var regex = /^[0-9a-zA-Z]+$/ ;
    				if( regex.test(value))
    				{
    					if(value.length > 4)
    					{
    						if(value.length < 31)
    						{
    							return true;
    						}
    						else
    						{
    							document.getElementById("verif_mdp_long_erreur").style.display = "inline";
    							return false;
    						}
    					}
    					else
    					{
    						document.getElementById("verif_mdp_court_erreur").style.display = "inline";
    						return false;
    					}
    				}
    				else
    				{
    					document.getElementById("verif_mdp_caractere_erreur").style.display = "inline";
    					return false;
    				}
    			}
    			else
    			{
    				document.getElementById("verif_mdp_vide_erreur").style.display = "inline";
    				return false;
    			}
    		}
    		else if(name=="repeat_mdp")
    		{
    			document.getElementById("verif_repeat_mdp_erreur").style.display = "none";
    			document.getElementById("verif_repeat_mdp_vide_erreur").style.display = "none";
    			
    			if(value!=0)
    			{
    				if (value == document.getElementById("mdp").value)
    				{
    					return true;
    				}
    				else
    				{
    					document.getElementById("verif_repeat_mdp_erreur").style.display = "inline";
    					return false;
    				}
    			}
    			else
    			{
    				document.getElementById("verif_repeat_mdp_vide_erreur").style.display = "inline";
    				return false;
    			}
    		}
    		else if(name=="email")
    		{
    			document.getElementById("verif_email_vide_erreur").style.display = "none";
    			document.getElementById("verif_email_erreur").style.display = "none";
    			document.getElementById("verif_nb_email_erreur").style.display = "none";
    			
    			if(value!=0)
    			{
    				var regex = /^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$/ ;
    				if(regex.test(value))
    				{
    					$.ajax
    					({ 
    						type: "GET", 
    						url: "verif_email.php?email="+value, 
    						success:function(data)
    						{ 
    							if(data==1)
    							{ 
    								document.getElementById("verif_nb_email_erreur").style.display = "inline";
    								return false;
    							}
    							else
    							{
    								return true;
    							}
    						} 
    					});
    				}
    				else
    				{
    					document.getElementById("verif_email_erreur").style.display = "inline";
    					return false;
    				}
    			}
    			else
    			{
    				document.getElementById("verif_email_vide_erreur").style.display = "inline";
    				return false;
    			}
    		}
    		else if(name=="recaptcha_response_field")
    		{
    			document.getElementById("verif_recaptcha_vide_erreur").style.display = "none";
    			
    			if(value!=0)
    			{
    				return true;
    			}
    			else
    			{
    				document.getElementById("verif_recaptcha_vide_erreur").style.display = "inline";
    				return false;
    			}
    		}
    	});
    	
    	$('#inscription').submit(function()
    	{
    		if(pseudoOk && mdpOk && repeat_mdpOk && email Ok && recatchapaOk)
    		{
    			return true;
    		}
    		else
    		{
    			return false;
    		}
    	});
    });
    
    • Partager sur Facebook
    • Partager sur Twitter
      29 novembre 2011 à 9:10:04

      $('#inscription').submit(function() {
          if (pseudoOk && mdpOk && repeat_mdpOk && email Ok && recatchapaOk) {
              $(this).submit();
          }
          return false;
      });
      


      document.getElementById("verif_nb_pseudo_erreur").style.display = "none";
      

      Ça m'a bien fait rire...
      • Partager sur Facebook
      • Partager sur Twitter
        29 novembre 2011 à 18:39:06

        Merci pour ta réponde mais en faites pseudoOk etc n'existe pas donc le code que tu me donne ne marche pas, moi ce que je voudrait c'est savoir commente je récupére false ou true dans la fonction

        $("input").blur(function()
        {

        Ou si je doit créer une variable à la place de mettre return false ou true, du style "var pseudoOk = true;

        Et pourquoi bien fait rire ? lol

        Merci quand même en tt cas! ^^
        • Partager sur Facebook
        • Partager sur Twitter

        Formulaire 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