2011-04-24 3 views
0
$(document).ready(function() 
{ 
    $('#comment textarea').click(function() 
    { 
     if (this.value == this.'Post a comment') 
     { 
      this.value = ''; 
     } 
    }); 

    $('#comment textarea').blur(function() 
    { 
     if (this.value == '') 
     { 
      this.value = this.'Post a comment'; 
     } 
    }); 
}); 

J'ai ce bit de script coincé sur un fichier php. Cependant, il ne fonctionne pas. La valeur par défaut de textarea est Poster un commentaire. Ce script devrait changer la valeur de textarea à null sur le clic, puis sur le flou le changer pour poster un commentaire.jquery pourquoi ça ne marche pas?

+5

'this.value == this.'Post un comment'' --- ce qui est ça !? – zerkms

Répondre

1

Le code followig devrait fonctionner:

 $(document).ready(function() { 
     $('#comment textarea').click(
      function() { 
       if (this.value == 'Post a comment') { 
        this.value = ''; 
       } 
      } 
     ); 
     $('#comment textarea').blur(
      function() { 
       if (this.value == '') { 
        this.value = 'Post a comment'; 
       } 
      } 
     ); 
    }); 
2

En tant que zerkms, this.'Post a comment' n'a pas de sens.

Il vous donnera ...

Uncaught SyntaxError: Unexpected string

Vous probablement dire la chaîne 'Post a comment'.

En outre, this est l'élément DOM natif, vous devez l'ajouter à $() pour en faire un objet jQuery.

0

ce code, je pense devrait fonctionner (si vous utilisez jQuery):

$(document).ready(function() { 
    $('#comment textarea').click(
    function() { 
    if ($(this).val() == 'Post a comment') { 
    $(this).val(''); 
    } 
    } 
    ); 
    $('#comment textarea').blur(
    function() { 
    if ($(this).val() == '') { 
    $(this).val('Post a comment'); 
    } 
    } 
    ); 
    }); 
1

Vous pouvez faire beaucoup plus agréable en utilisant en ajoutant placeholder="Post a comment" à votre <textarea>. Bien que cela ne soit pas supporté par certains navigateurs plus anciens, il fonctionne bien dans les navigateurs modernes et n'a pas besoin de scripts.

Démo: http://jsfiddle.net/ThiefMaster/vVxrp/

+0

+1 pour la mention d'attribut "placeholder". – alex

Questions connexes