Массив window.frames[]
индексируется атрибутом name
фрейма [i] frame (он же цель фрейма). id
нельзя полагаться также на работу - хотя это может быть в IE <8, который часто думает, что имена и идентификаторы - это одно и то же. </p>
Если вы хотите получить доступ к содержимому фрейма через идентификатор, используйте свойство HTML contentDocument
DOM уровня 2 вместо старой школы («Уровень 0 DOM») frames
массив:
document.getElementById('additionalTxt_f').contentDocument.body.innerHTML
... но для совместимости с IE <8 также необходимо добавить запасной вариант, поскольку он не поддерживает <code>contentDocument:
var f= document.getElementById('additionalTxt_f');
var d= f.contentDocument? f.contentDocument : f.contentWindow.document;
d.body.innerHTML
Так что вам решать, какой метод вы считаете менее уродливым: дополнительный сценарий или просто использование атрибута name
.