Partage
  • Partager sur Facebook
  • Partager sur Twitter

Un .focus a planté mon script !!!!!

Tout fonctionnait avant ça

    24 janvier 2009 à 0:02:16

    Salut amis ZERO,

    Juste avant d'ajouter prenom.focus(); ça fonctionnait, après, j'ai bien l'alert mais le formulaire est quand même envoyé.

    D'où vient le problème ?

    if((prenom == '' ) || (prenom == null)){ 
    				alert("Vous devez entrer votre prenom !");
    				prenom.focus();
    				return false;
    }
    
    • Partager sur Facebook
    • Partager sur Twitter
      24 janvier 2009 à 0:18:35

      C'est quoi, prenom ? Un noeud (élément dans l'arbre DOM), ou une string ?
      Parce que tu le traites une fois comme une string en le comparant à des chaines, puis ensuite tu essaies de lui donner un focus, comme si c'était un champ de formulaire...
      • Partager sur Facebook
      • Partager sur Twitter
        24 janvier 2009 à 0:34:24

        voici le début de ma fonction :

        function verifPrenom() 
        		{
        			var prenom = window.document.forms[0].prenom.value;
        			if((prenom == '' ) || (prenom == null)){ 
        				alert("Vous devez entrer votre prenom !");
        				prenom.focus();
        				return false;
        			}
        


        et voici le formulaire :

        Veuillez taper votre prénom <form name="form1" action="cible.php" method="post" onsubmit="return verifPrenom();">
        			<input type="text" name="prenom" /><input type="submit" value="Valider" />
        
        • Partager sur Facebook
        • Partager sur Twitter
          24 janvier 2009 à 0:37:57

          Et bien, tu essaies de donner le focus à une string, c'est impossible, un focus se donne à un élément :
          document.forms[0].prenom.focus();
          
          • Partager sur Facebook
          • Partager sur Twitter
            24 janvier 2009 à 1:51:02

            Merci a toi Elias mais même avec
            document.forms[0].prenom.value;
            
            ça ne marche pas.

            Par contre quand je fais ça
            function verifPrenom(prenom) 
            		{
            		   if((prenom.value == "" ) || (prenom.value == null)){ 
            		   alert("Vous devez entrer votre prenom !");
            		   prenom.focus();
            		   return false;
            		   }
            		}
            


            ça marche.

            Ce que je n'est pas dis au début c'est que dans ma fonction il y a des if et des else if. Donc je pense que ça doit provenir de là

            function verifPrenom(prenom) 
            		{
            			var prenom = window.document.forms[0].prenom.value;
            			if((prenom.value == "" ) || (prenom.value == null)){ 
            				alert("Vous devez entrer votre prenom !");
            				prenom.focus();
            				return false;
            			}
            			else if(!/^[^\d]+$/.test(prenom)){ 
            				alert("Vous avez entrer un nombre !");
            				return false;
            			}
            			else if(!/^[^*+.?!]+$/.test(prenom)){ 
            				alert("Vous avez entrer un caractère interdit !");
            				return false;
            			}
            			else if(prenom.length <= 3){
            				alert("Vous devez entrer plus de 3 lettres !");
            				return false;
            			}
            			else{
            				alert("Merci");
            				return true;
            			}
            			
            		}
            


            DONC SI QUELQU'UN SAIT POURQUOI QUAND IL Y A QU'UN SEUL IF CA MARCHE ET DANS L'AUTRE CAS CA NA MARCHE PAS. QUI ME LE DISE.
            MERCI.
            • Partager sur Facebook
            • Partager sur Twitter

            Un .focus a planté mon script !!!!!

            × 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