Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/03/2011, 22:56
Assendum
 
Fecha de Ingreso: marzo-2011
Mensajes: 2
Antigüedad: 13 años, 1 mes
Puntos: 0
Pregunta Problema con javascript en IE y Firefox

Hola a todos. Haciendo un programa en javascript que permite mostrar datos de un archivo txt dentro de un IFRAME (usando PHP) me surgió un problema con la función document.write() al ejecutar la página en navegadores como Firefox o Internet Explorer, y lo peor es que en el Chrome anda bien.

En la consola de errores de firefox me salta el error que dice que los subprogramas no estan definidos ("refresh" y "borrar", que son las dos que llaman cada botón). Cuando se carga la página, que se utiliza el subprograma "escribir" (en donde estan los document.write) el programa anda bien, y los botones funcionan, el problema es que al llamar al subprograma "borrar" que vuelve a utilizar el programa "escribir" pero con otros parámetros, para mostrar un archivo distinto en el IFRAME, ambos botones dejan de funcionar.

Quería ver si me podrían dar una mano, porque la verdad que ya no se me ocurre como solucionarlo.

A continuación pongo parte del código del programa, para que vean lo que hace:

Código:
<script type="text/javascript">

pass = prompt('Introduzca su contraseña de consulta','');
escribir(pass);


function borrar(){
var qst = confirm('¿Estás seguro de que querés borrar los datos de forma definitiva?');

if(qst == false){}
else if(qst == true){var epass = prompt('Para completar el borrado de los datos almacenados debes introducir tu contraseña','');
escribir(epass);}
}


function refresh(){
window.location.href = 'pagina.htm?id='+pass
}


function escribir(x){
document.open();

document.write('<iframe src="http://'+x+'.php"></iframe><br>');
document.write('<input value="Leer" name="submit" type="button" onclick="javascript:refresh()" />');//LEER
document.write('<input value="Borrar" name="submit" type="button" onclick="javascript:borrar()" />');//BORRAR

document.close();
}
</script>
El script está colocado dentro del <body> y todo el programa funciona bien. No es problema de los códigos usados en los archivos *.php ni nada de eso. Como les dije, el problema surge al usar el botón borrar, que llama nuevamente a al programa "escribir".

Supongo que debe ser que al usar "document.write()" de nuevo, se pierden los datos guardadoes en el <script> o algo así.

Alguna idea de como solucionarlo??
Muchas gracias a todos por leer mi consulta.