Comment réparer “Uncaught TypeError: Ne peut pas appeler une méthode appendChild', null”

Je tente de saisir du texte à partir d'une zone de texte HTML, et d'appeler la méthode create() lorsqu'un bouton "Soumettre" est pressé. La méthode est d'essayer d'utiliser le message dans la zone de texte, et après que, à sa propre balise p avec classe, et après un timbre à date dans sa propre balise p, et de sa propre classe.

Ces deux sont dans la div 'commentaires'. L'erreur que j'obtiens (à l'aide d'outils de développement de Chrome), est

Uncaught TypeError: Ne peut pas appeler une méthode appendChild' null.

Ce qui est destiné à "cmt.appendChild(divTag);". Je suis très nouveau à Javascript, et c'est juste pratique pour moi d'améliorer mes compétences. Toute aide est grandement appréciée!

var cmt = document.getElementById('comments');

function create() {

    var username = 'User',
        message = document.getElementById("textBox").value,
        divTag = document.createElement('div'),
        p1 = document.createElement('p'),
        p2 = document.createElement('p');

    divTag.className = 'comment';

    p1.className = 'date';
    p1.innerHTML = new Date();
    divTag.appendChild(p1);

    p2.className = 'message';
    p2.innerHTML = username + ': ' +message;
    divTag.appendChild(p2);

    cmt.appendChild(divTag);
}
Êtes-vous sûr var cmt = document.getElementById('comments'); est appelé après que l'élément d'ID "commentaires" est créé?
Oui, mon Javascript est à l'extérieur de ma page HTML.

OriginalL'auteur Fizzix | 2013-02-18