A resposta rápida é usar innerHTML (ou o método de atualização do protótipo que praticamente faz a mesma coisa). O problema com o innerHTML é que você precisa escapar do conteúdo que está sendo atribuído. Dependendo dos seus alvos, você precisará fazer isso com outro código OU
no IE: -
document.getElementById("field_name").innerText = newText;
em FF: -
document.getElementById("field_name").textContent = newText;
(Na verdade, da FF tem o seguinte presente no código)
HTMLElement.prototype.__defineGetter__("innerText", function () { return this.textContent; })
HTMLElement.prototype.__defineSetter__("innerText", function (inputText) { this.textContent = inputText; })
Agora eu posso usar o innerText se você precisar do suporte mais amplo possível ao navegador, então essa não é uma solução completa, mas também não é o innerHTML no estado bruto.