Partage
  • Partager sur Facebook
  • Partager sur Twitter

Mon petit script de fonctionne pas

pourtant pas compliqué --'

Sujet résolu
    14 novembre 2010 à 20:31:16

    Bonjour a tous ! Je me suis lancé dans le javascript pour site internet. Mais le petit script que j'ai créé ne fonctionne pas. La raison, seul vous le savez :p

    J'èspere que vous pourrez m'aider a résoudre le probleme:

    J'ai dans mon fichier html :
    <label><b>Pseudo</b></label> 
    <input type="text" name="pseudo" value="Pseudo" class="autoEmpty"/><br/>
    
    <b><label>Adresse e-mail</label>
    <input type="text" name="email"  value="xxxx@xxx.fr"class="autoEmpty"/>
    


    Je voudrai, des qu'on clique dedans, ca s'enleve. Si il est vide quand on clique autre part, il se re-rempli du "value".

    Voici mon script.js :
    $(function(){
    
    	$(".autoEmpty").each(function(){
    	
    		var texteDefaut = $(this).val();
    		$(this).focus(function(){
    		
    		if($(this).val()==texteDefaut){
    			$(this).val("");
    		}
    			
    		
    		});
    		
    		$(this).blur(function(){
    		
    		if($(this).val()==""){
    		$(this).val(texteDefaut);
    		}
    		});
    		
    	});
    	
    }
    


    Je l'ai bien vérifié des centaines de fois, mais jamais je n'ai trouvé ce qu'il cloché.

    PS: j'ai bien pensé a inclure jQuery, et mon script dans ma page ;)

    Merci beaucoup !
    • Partager sur Facebook
    • Partager sur Twitter
      14 novembre 2010 à 20:44:42

      Il te manque pas une parenthèse fermante tout à la fin ?
      • Partager sur Facebook
      • Partager sur Twitter
        14 novembre 2010 à 20:52:19

        Merci de ta réponse, tu as vu juste, mais sa ne fonctionne toujours pas. Il manquait bien les parenthèses a la fin.

        Merci encore.
        • Partager sur Facebook
        • Partager sur Twitter
          14 novembre 2010 à 21:01:45

          "les" ?

          Remontre ton code après chaque modification.

          EDIT : Qu'indique la console d'erreurs ? (Outils -> Console d'erreurs sous Firefox)
          • Partager sur Facebook
          • Partager sur Twitter
            14 novembre 2010 à 21:13:28

            Bonjour ,
            ta pas besoin de bibliothèque jQuery pour ce type de besoin
            un code simple pure JS pourra t'aider voila:
            <label><b>Pseudo</b></label> 
            <input type="text" name="pseudo" value="Pseudo" onclick="if(this.value == 'Pseudo')this.value =''" onblur="if(this.value == '')this.value ='Pseudo'" class="autoEmpty"/><br/>
            
            <b><label>Adresse e-mail</label>
            <input type="text" name="email"  value="xxxx@xxx.fr" onclick="if(this.value == 'xxxx@xxx.fr')this.value =''" onblur="if(this.value == '')this.value ='xxxx@xxx.fr'"class="autoEmpty"/>
            
            • Partager sur Facebook
            • Partager sur Twitter
              14 novembre 2010 à 22:26:05

              Si on va par là on n'a jamais besoin de JQuery. Il fait peut-être tout son site avec (cela dit each() est très lent).

              Normalement avec une parenthèse et un point-virgule à la fin du code c'est bon, je ne vois pas de faute.

              Si non je te déconseille d'écrire uniquement une class dans le sélecteur JQuery $(), parce que là JQuey crée un objet HTMLCollection de TOUS les éléments de la page et vérifie un par un qu'ils ont la class autoEmpty, alors que cette fonctionnalité ne concerne que deux balises...

              En général on écrit devant la class l'id d'un proche parent, et le type de balise ciblée, mais ici je te conseillerais plutôt de donner un id aux deux input et, dans la foulée, un for aux deux label avec comme valeur l'id de l'input correspondant. Tu pourras écrire $("#input1, #input2") comme sélecteur, ce sera plus rapide et plus accessible.
              • Partager sur Facebook
              • Partager sur Twitter
                14 novembre 2010 à 22:32:23

                Citation


                Si on va par là on n'a jamais besoin de JQuery.

                On n'a jamais besoin de jQuery, tous est réalisable sans.
                C'est juste pour ce faciliter la vie, mais dans certain cas sa fais juste alourdir :) .

                Ps: est dans le cas de ce script, c'est vrai que du Javascript "pur", serrait plus simple, et efficace.
                • Partager sur Facebook
                • Partager sur Twitter
                  15 novembre 2010 à 18:31:16

                  Merci de vos réponse, mais j'ai utilisé jQuery pour en faite l'inclure dans toutes les pages (j'ai plein de page avec des input) au lieux de recopier tout a chaque fois, un script, pour que dans chaque classe autoEmpty, il me fasse sa quoi :/

                  Mais ca fonctionne parfaitement maintenant, en faite, il est vrai une erreur qui ne m'arrive jamais pourtant ... Désolé d'avoir utilisé un topic pour rien ><

                  Merci encore pour vos réponse dont je tiendrai comptes ;)
                  • Partager sur Facebook
                  • Partager sur Twitter

                  Mon petit script de fonctionne pas

                  × 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