jquery-problem utilisant val () dans IE6

J’essaie d’obtenir une valeur de textarea à mettre à jour à l’aide de jquery, comme indiqué dans le code ci-dessous:

 

$('#hello').val("hi there"); function showLine() { alert($('#hello').val()); } function setLine() { $('#hello').val('foo'); }

Ce code fonctionne bien dans tous les principaux navigateurs sauf IE6.

Dans Ie6, la zone de texte ne sera pas mise à jour avec le bouton clic et l’alerte donnera une chaîne vide / nulle. Cependant, dans les autres navigateurs, cliquer sur “définir” le change en “foo”, qui est ensuite affiché dans la zone d’alerte.

Est-ce que quelqu’un sait pourquoi c’est spécifique à ce navigateur, ou qu’est-ce qui ne va pas avec le code? J’ai mes soupçons sur le .val()

Toute aide serait appréciée.

Je pense que vous devez utiliser .html () au lieu de .val () … Essayez de dire ce qui est arrivé?

vous devriez appeler val () dans l’événement document.ready:

 $(document).ready(function() { $('#hello').val("hi there"); }); 

Juste pour clarifier les choses: je ne parle que du premier appel (global) à val (). Les déclarations de fonction ne doivent pas être à l’intérieur de la fonction document.ready.

Je ne sais pas pourquoi votre code ne fonctionne pas dans IE6 mais ce n’est pas jQuery approprié. Je ne peux pas tester cela maintenant mais cela devrait fonctionner avec quelques changements:

     

Les boutons ne doivent pas avoir d'événements onclick dans jQuery, vous devez les lier comme indiqué ci-dessus. Et utilisez toujours document.ready!

Avez-vous, par quelque changement que ce soit, plusieurs éléments avec l’id “hello”?