window.open y error accediendo a document.forms

Grati
22 de Diciembre del 2003
Hola a todos,

Tengo un error que supongo será de principiante.

He mirado en este mismo foro discusiones sobre errores similares, pero no acabo de poder aplicarlas a mi caso.

Estoy usando IE 5.5x cómo navegador.

Quiero, desde una funcion JavaScript que almaceno en un fichero .js cargar una página con window.open, rellenar un campo del formulario y luego submitirlo.

Mi problema es que no puedo acceder a los objetos de la pagina abierta con window.open DEPENDIENDO de cómo incluya las sentecias <base href=...> y <LINK href..>

El código es el siguiente:


// accesos.js
function listaAccesos(valor, atributos){
var newWindow;
newWindow=makeNewWindow('prueba.htm', "Lista Accesos", atributos);
try{

newWindow.document.forms[0].TENOM.value="Luis";
}
catch(e)
{
alert("Error occured : " + e.description);
}

}

// newFunction
function makeNewWindow(url, h, w, scroll,id, top, left) {
var newWindow

try{
newWindow = window.open(url,id,atributos);
return newWindow;
}
catch(e){
alert("Error ocurrido : " + e.description);
}

}

Bien, la pagina prueba.html es la siguiente

1)<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2)<html>
3)<head>
4)<title>Untitled Document</title>
5)<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
6)<base href="." />
7)<LINK href="./Master.css" rel="stylesheet" type="text/css">
8)</head>
9)<body>
10)<form name="accesosFormBean" method="POST" action="/STCLI/accesos.do">
11) <table>
12) <tr><td width="384"><input type="text" name="TENOM" value=""></td></tr>
13) </table>
14)</form>
15)</body>
16)</html>

Al cargar la página se me genera un error de JavaScript con el siguiente mensaje:

"Error occurred: document.forms.0.TENOM es nulo o no es un objeto"

Curiosamente si invierto el orden de las líneas 6) y 7) me funciona... pero no sé porqué.

¿Alguién podría explicarmelo?.
Gracias por adelantado.