Partage
  • Partager sur Facebook
  • Partager sur Twitter

Transformer un script pour input ...

... pour qu'il fonctionne pour les textarea

Sujet résolu
    4 octobre 2009 à 10:14:20

    Bonjour les Zéros :) ,

    J'ai trouvé un jolie script en javascript sur le forum :D mais il fonctionne seulement pour les input de type texte :( ...

    Tout d'abord, le voici :
    <script type="text/javascript">
    window.onload = function() {
    	var inputs = document.getElementsByTagName('input');
    	for(var i=0, l=inputs.length;i<l;i++) {
    		var input = inputs[i];
    		if(input.type === "text" && input.value !== "") {
    			input.onfocus = (function(default_value) {
    				return function() {
    					if(this.value == default_value) {
    						this.value = "";
    					}
    				}
    			})(input.value);
    			input.onblur = (function(default_value) {
    				return function() {
    					if(this.value == "") {
    						this.value = default_value;
    					}
    				}
    			})(input.value);
    		}
    	}
    }
    </script>
    


    Ma question est simple, comment faire que pour cela fonctionne pour les textarea ?


    Pour ceux qui ne comprenne pas, ce script met le value d'un input de type texte par défaut si il est vide , et lorsqu'on clique dessus, il se vide ! ;)

    Cordialement _dark mort_
    • Partager sur Facebook
    • Partager sur Twitter
      4 octobre 2009 à 10:39:54

      var inputs = document.getElementsByTagName('input');
      Remplace par :
      var inputs = document.getElementsByTagName('textarea');
      et dans le "if" tu vires la condition du type.
      • Partager sur Facebook
      • Partager sur Twitter
        4 octobre 2009 à 11:11:15

        <script type="text/javascript">
        window.onload = function() {
        	var inputs = document.getElementsByTagName('textarea'); 
        	for(var i=0, l=inputs.length;i<l;i++) {
        		var input = inputs[i];
        			input.onfocus = (function(default_value) {
        				return function() {
        					if(this.value == default_value) {
        						this.value = "";
        					}
        				}
        			})(input.value);
        			input.onblur = (function(default_value) {
        				return function() {
        					if(this.value == "") {
        						this.value = default_value;
        					}
        				}
        			})(input.value);
        		
        	}
        }
        </script>
        


        Rien du tout ... :(

        Mais peut être c'est à cause de mon textarea ...

        <textarea id="idTextarea" name="contenu_presentation" value="Ecrivez ici le texte de la présentation de l'entreprise." style="width: 100%;height:180px;">
            <?php echo $presentation['contenu']; ?>
            </textarea>
        
        • Partager sur Facebook
        • Partager sur Twitter
          5 octobre 2009 à 7:48:48

          :euh: le texte du textarea doit se mettre au milieu des balises, pas dans "value" en fait...
          Ensuite, la console d'erreur ne te donne pas d'erreurs ?
          • Partager sur Facebook
          • Partager sur Twitter
            9 octobre 2009 à 14:41:34

            Citation : birdy42

            Ensuite, la console d'erreur ne te donne pas d'erreurs ?


            Des fois, j'ai l'impression de parler dans le vide...
            • Partager sur Facebook
            • Partager sur Twitter
              9 octobre 2009 à 14:56:50

              Citation : birdy42

              Citation : birdy42

              Ensuite, la console d'erreur ne te donne pas d'erreurs ?


              Des fois, j'ai l'impression de parler dans le vide...



              Désolé ... :euh: Non il y a rien ... et pourquoi il devrait y avoir un message d'erreur :o

              Merci, cordialement _dark mort_
              • Partager sur Facebook
              • Partager sur Twitter
                9 octobre 2009 à 15:17:49

                J'ai testé, le code marche bien...
                Pour ton textarea, essaie :
                <textarea id="idTextarea" name="contenu_presentation" style="width: 100%;height:180px;">
                    <?php if(isset($presentation['contenu']){
                             echo $presentation['contenu'];
                          }
                          else{
                             echo "Ecrivez ici le texte de la présentation de l'entreprise.";
                          } ?>
                    </textarea>
                

                • Partager sur Facebook
                • Partager sur Twitter
                  9 octobre 2009 à 18:08:51

                  Merci beaucoup cela fonctionne :D

                  Je dois juste modifier le if pour que sa met le message seulement si contenu est vide !

                  Cordialement _dark mort_
                  • Partager sur Facebook
                  • Partager sur Twitter

                  Transformer un script pour input ...

                  × 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