JavaScriptTypeError lors de l'application de la valeur d'une zone de texte à une variable
var textarea = document.getElementById("textarea").value;
HTML
<textarea id="textarea" cols="100" rows="10">du hello!</textarea>
JavaScriptTypeError lors de l'application de la valeur d'une zone de texte à une variable
var textarea = document.getElementById("textarea").value;
HTML
<textarea id="textarea" cols="100" rows="10">du hello!</textarea>
TypeError: Result of expression
'document.getElementById("textarea")' [null]
is not an object.
Cette erreur indique qu'il n'a pas pu trouver un élément avec l'id "textarea". Le résultat de cette opération getElementById
est donc null
et vous ne pouvez pas accéder à .value
sur null
car il n'a aucune propriété.
La cause première de ceci est qu'aucun élément avec l'identifiant "textarea" n'existe au moment de la recherche. Soit vous avez une faute de frappe quelque part, soit votre script s'exécute à un moment où l'élément n'existe pas (encore). Si votre script est dans l'en-tête, vous aurez envie de l'écrire comme ceci:
document.ready = function() {
... script here ...
}
Cela va retarder l'exécution jusqu'à ce que le document est prêt et tous les éléments existent.
J'ai tout vérifié et la faute de frappe n'était pas le problème. J'ai essayé de mettre 'document.ready =() {/ * avec mon script ici * /}' dans la tête, débogué et n'a pas eu d'erreur, mais il n'a pas encore alerté la valeur de la zone de texte . J'ai mis le script dans le '
' et j'ai travaillé. Le fichier .ready n'est-il pas spécifique à jQuery? Je fais une application web simple et je ne veux utiliser aucun framework JS. – Espresso@Espresso Non, 'document.ready' n'est pas spécifique à jQuery, mais il peut être spécifique au navigateur. Vous pouvez essayer 'window.onload' alternativement. Vous aurez besoin de poster plus de code, je pense que les pièges évidents ont été effacés par maintenant. – deceze
si vous utilisez éditeur wysiwyg comme tinymce ou bien. document.getElementById ("textarea"). Value; ne fonctionnera pas ils ont leur propre méthode pour obtenir des données.
<script type="text/javascript">
function test(name){
var textarea = document.getElementById("textarea").value;
alert(textarea)
}
</script>
<textarea id="textarea" cols="100" rows="10">du hello!</textarea>
<a href="javascript:void(0)" onclick="javascript:test('this is just testing')">Test TextArea</a>
je veux dire dire éditeur de texte. autre que vous cam vérifier également qu'il devrait y avoir un tag avec id = "textarea" .vous pouvez vérifier votre navigateur pls référer ma réponse après l'édition. – Salil
Vous devriez vraiment dire quelle erreur exacte vous obtenez ... – sth
fonctionne pour moi ... quel navigateur utilisez-vous? – Kip
@Kip Je l'exécute sur Safari et @sth il me donne l'erreur: "TypeError: Résultat de l'expression" document.getElementById ("textarea") '[null] n'est pas un objet. " – Espresso