Foros del Web » Programando para Internet » Javascript »

usar funciones en una pagina dinamica generada con el document.open();

Estas en el tema de usar funciones en una pagina dinamica generada con el document.open(); en el foro de Javascript en Foros del Web. Hola a todos!! Mi problema es que creo una pagina dinamica a partir de otra con un document.open(); document.writeln('<head><title>Level1. Unit2</title></head>'); y asi pero en esta ...
  #1 (permalink)  
Antiguo 17/05/2007, 22:12
 
Fecha de Ingreso: mayo-2007
Mensajes: 8
Antigüedad: 17 años
Puntos: 0
usar funciones en una pagina dinamica generada con el document.open();

Hola a todos!!

Mi problema es que creo una pagina dinamica a partir de otra con un document.open();
document.writeln('<head><title>Level1. Unit2</title></head>'); y asi pero en esta nueva pagina quiero poner un formulario, es decir crear un cuestionario, a lo que he visto si puedo crear un form dentro de un document pero mi problema es al validar las opciones de dicho formulario, necesitare una funcion que no se si se pueda poner dentro del document, ya lo intente pero no hace lo que debe de hacer o si tengo que crear un archivo js y mandarlo llamar desde el document, tampoco sale, aun no he hecho todo el cuestionario, estoy calando con un ejemplo sencillo para checar eso de las funciones pero no me hace lo que debe.

ojala que me puedan ayudar!

mi codigo esta asi:

document.writeln("<form name="+"formp"+" action="+""+"><label><div align="+"center"+"><input type="+"button" +" name="+"Prueba"+" value="+"FINISH"+" onclick="+"metodo()"+"/></div></label><INPUT TYPE="+"TEXT"+" NAME="+"texto"+" SIZE="+"7"+" MAXLENGTH="+"4"+"></form>");
document.write("<" + "script language="+"JavaScript"+" type="+"text/javascript"+">");
document.write("function metodo(){ rightchar='hola'; document.formp.texto.value = rightchar;}");
document.write("<"+ "/script>");

y me crea la pagina y me muestra el boton y el campo de texto pero no muestra lo que debe, no se si mi problema sea la función...

Gracias
  #2 (permalink)  
Antiguo 18/05/2007, 03:05
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: usar funciones en una pagina dinamica generada con el document.open();

Hola:

Lo que quieres es posible de hacer, simplemente debes tener algo mal en tu código...

Para casos así, yo prefiero crear una variable con todo el contenido primero y luego escribirlo, de hecho, así funciona el probador de scripts de esta página: Probador de scripts

Por ejemplo:
var contenido = "<html>\n";
contenido += "<head><title>¡Hola Mundo!</title>\n";
contenido += "<script>\n";
contenido += "alert('Hola');\n";
contenido += "<" + "/script>\n";
contenido += "</head></body>\n";
contenido += "Hola";
contenido += "</body></html>";
ventana = window.open();
ventana.document.open();
ventana.document.write(contenido);
ventana.document.close();

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 19/05/2007, 00:23
 
Fecha de Ingreso: mayo-2007
Mensajes: 8
Antigüedad: 17 años
Puntos: 0
Re: usar funciones en una pagina dinamica generada con el document.open();

Gracias!!

Pero mi problema no es ese, si no que ya vi que si puedo crear un formulario a partir de un document, pero estoy batallando en evaluarlo, es decir, tengo opciones y cada vez que selecciones una se me guarda un valor en un vector, despues tengo una funcion que evalua el cuestionario que tengo en el formulario con un boton pero resulta que no esta funcionandoo, creo que son los arreglos, no esta guartdando la informacion o no se que esta pasando.

mi funcion la tengo dentro de un archivo js y es esta:
function metodoss(){

var audiov = 0;
var tipico = 0;
var juegos = 0;


for (i=0; i<=8; i++){
if (actualChoicesA[i] == 2){
audiov++;
}
else if (actualChoicesA[i] == 3){
tipico++;
}

else if (actualChoicesA[i] == 4){
juegos++;
}
}

if (audiov >= 3){
document.open();
document.write("<br><body><center><a HREF="+"index.html"+" target=_top><font FACE="+"Tahoma"+" SIZE="+"3"+"> ADJECTIVES</font></a></center></body><br>");
document.write("<br><br><br><center><img src="+"Images/Ingles.JPG"+" width="+"200"+" height="+"100"+" /></center>");
document.close();
}

y mi formulario dentro del document esta mas o menos asi:

document.writeln("<form name="+"form1"+" action="+""+"><table width="+"950"+" align="+"center"+"><tr bgcolor="+"#F1F1F1"+"><td><blockquote><p class="+"Estilo3"+">1. <strong>Entiendo mejor un tema despu&eacute;s de:</strong></p></blockquote></td></tr><tr><td><table width="+"950"+" border="+"0"+"><tr><td width="+"25"+" class="+"Estilo4"+"><label></label></td><td width="+"209"+" class="+"Estilo4"+">&nbsp;</td><td width="+"25"+" class="+"Estilo4"+"> <label><input name="+"q1"+" type="+"radio"+" value="+"2"+" onclick="+"actualChoicesA[0]=2"+"/></label></td><td width="+"207"+" class="+"Estilo4"+">Pensarlo</td><td width="+"25"+" class="+"Estilo4"+"><label><input name="+"q1"+" type="+"radio"+" value="+"3"+" onclick="+"actualChoicesA[0]=3"+"/></label></td><td width="+"209"+" class="+"Estilo4"+">Realizarlo</td><td width="+"25"+" class="+"Estilo4"+"><label><input name="+"q1"+" type="+"radio"+" value="+"4"+" onclick="+"actualChoicesA[0]=4"+"/></label></td><td width="+"191"+" class="+"Estilo4"+">Haciendo diferentes actividades con &eacute;l);

esa es solo la primera pregunta pero como ves guardo las respuestas en un arreglo y en la funcion cuento los tipos de respuestas, no se muy bien que es lo que esta mal, por que no funciona, tal vez sea que no estoy utilizando bien los areglos o nose, esta es el boton que uso para evaluar el cuestionario:

document.write("<" + "script language="+"JavaScript"+" type="+"text/javascript"+" src="+"funciones.js"+">"+"<"+ "/script>");

document.writeln("<body><form id="+"form2"+" name="+"form2"+" action="+""+"><label><input type="+"button"+" name="+"Submit"+" value="+"FINISH"+" onclick="+"metodoss()"+" /></label></form></body>");

ojala me puedan hacer saber si son los arreglos, o no estoy haciendo bien algo!!

Gracias!!!
  #4 (permalink)  
Antiguo 19/05/2007, 00:27
 
Fecha de Ingreso: mayo-2007
Mensajes: 8
Antigüedad: 17 años
Puntos: 0
Re: usar funciones en una pagina dinamica generada con el document.open();

Creo que también puede ser un problema de comillas en el cuestionario, yano se ni que :S!!
  #5 (permalink)  
Antiguo 19/05/2007, 01:17
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: usar funciones en una pagina dinamica generada con el document.open();

Hola:

Puesto así es muy difícil de descubrir el error, seguramente sea por las comillas, supongo que tendrás que alternar las simples con las dobles... por ejemplo:

Código:
document.writeln("<form name="+"form1"+" action="+""+"><table width="+"950"+" ...
estaría mejor así:

Código:
document.writeln("<form name='form1' action=''><table width='950' ...
Otra manera donde puedes ponerlo igual que en cualquier documento es usar textarea oculto:

<form name="oculto" action="" method="post">
<textarea name="texto" >
&lt;form name="form1" action="" &gt;&lt;table width="950"...
</textarea>
</form>

Y para escribir:
ventana.document.writeln(document.forms.oculto.tex to.value);

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 19/05/2007, 14:39
 
Fecha de Ingreso: mayo-2007
Mensajes: 8
Antigüedad: 17 años
Puntos: 0
Re: usar funciones en una pagina dinamica generada con el document.open();

Entonces no crees que sean los arreglos? o sea se supone que si debe de funcionar asi, o sea si puedo guardar datos en un arreglo con las respuestas de un formulario que este dentro de un document y despues en una funcion que tengo afuera en un archivo js,comparar los valores del arreglo, hay es que no se de que otra forma idear lo que estoy haciendo, pero bueno, creo que es problema de los arreglos =(
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 06:34.