Foros del Web » Programando para Internet » Javascript »

¿a que se debe este error?

Estas en el tema de ¿a que se debe este error? en el foro de Javascript en Foros del Web. Tengo esta funcion javascript : function copiar() { var nueva_linea; nueva_linea = window.parent.frames[0].document.buf.buffer.value; if (nueva_linea != "") { var texto=document.createTextNode(nueva_linea); var linea=document.createElement("P"); linea.appendChild(texto); window.parent.frames[1].document.getElementById("pantalla").appendChild(l inea); ...
  #1 (permalink)  
Antiguo 04/12/2004, 07:54
 
Fecha de Ingreso: septiembre-2004
Mensajes: 9
Antigüedad: 19 años, 7 meses
Puntos: 0
Exclamación ¿a que se debe este error?

Tengo esta funcion javascript:

function copiar()
{
var nueva_linea;
nueva_linea = window.parent.frames[0].document.buf.buffer.value;
if (nueva_linea != "")
{
var texto=document.createTextNode(nueva_linea);
var linea=document.createElement("P");
linea.appendChild(texto);
window.parent.frames[1].document.getElementById("pantalla").appendChild(l inea);

}
}

Lo que hace la función es copiar la variable nueva linea a otro frame dentro del elemento pantalla de la siguiente forma <p>nuevalinea<p>
En Mozilla-Firefox no me da ningún problema, pero lo he probado en Opera y en el Intetnet Explorer y me da un error y no funciona

Basicamente me dice:
Error.
Lineas: 16
Car: 4
Error: Argumento no valido
Codigo:0

la linea 16 es esta:
window.parent.frames[1].document.getElementById("pantalla").appendChild(l inea);

y la verdad no entiendo por que no funciona????


Última edición por korkuts; 06/12/2004 a las 10:09
  #2 (permalink)  
Antiguo 06/12/2004, 04:21
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola korkuts

He hecho algunas pruebas y yo tampoco he conseguido, con IE, añadir un elemento en un frame desde otro frame, aunque el código que has puesto me parece correcto. Si lo que se quieres es, por ejemplo, cambiar el valor de un cuadro de texto, si que funciona:

window.parent.frames[1].document.getElementById("texto").value="algo";

Si se me ocurre algo, ya te comentaré, o si a alguien se le enciende la bombilla, que nos lo diga para tomar nota.

Saludos,
  #3 (permalink)  
Antiguo 06/12/2004, 04:48
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola a todos:

Recuerdo que me costó trabajo conseguir cambiar cosas desde un conjunto de frames o de un popup, pero en ciertos casos es posible...
Esta página (de la que me siento bastante orgulloso) lo demuestra: http://www.pepemolina.com/DOM/index.html
Hay que "ver árbol" y se añaden eventos de resalte (con onmouseover) en el frame de la derecha... Y con el árbol desplegado se pueden modificar atributos y estilos desde un popup (que se genera desde el frame izquierdo)...

Miré el código para intentar recordar, y creo que es necesario empezar a recorrer el arbol del frame desde su raiz (documentElement)

Pero he visto que con onclick="top.elFrame.document.body.innerHTML = 'hola'
siendo elFrame el atributo name del sistema de frames funciona (claro que se debe cambiar body por el elemento que se quiera modificar.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:31.