oui, c'est normal. en js, si tu crées un élément d'un nom, tu y accèdes dans ton exemple par document.form.elements.log .
s'il y en a plusieurs, tu y accèdes par tableau.
donc s'il n'y en a qu'un, le ....log.length renverra undefined, car length n'est pas un membre de log (car il n'est pas un tableau).