Foros del Web » Programando para Internet » Javascript »

¿como hacer funcion javascript ejecutada desde otra funcion javascript?

Estas en el tema de ¿como hacer funcion javascript ejecutada desde otra funcion javascript? en el foro de Javascript en Foros del Web. hola a todos soy m0m0o y soy de mexico, soy nuevo en el foro y veo que esta genial, hay mucho temas :D bueno no ...
  #1 (permalink)  
Antiguo 20/02/2010, 13:27
 
Fecha de Ingreso: febrero-2010
Ubicación: /home/México
Mensajes: 57
Antigüedad: 14 años, 2 meses
Puntos: 0
¿como hacer funcion javascript ejecutada desde otra funcion javascript?

hola a todos soy m0m0o y soy de mexico, soy nuevo en el foro y veo que esta genial, hay mucho temas :D

bueno no se si alguien me pueda aconsejar:

estoy creando un formulario "al estilo visual basic" desde javascript.

mi problema es que no me reconoce una llamada a otra funcion desde la nueva ventana creada con javascript, no se si mi problema sea mi codigo, o quisiera saber si eso no es posible de hacer

este es mi codigo

Código:
function nvaVentana() {
      ventana=open("","ventana de prueba","toolbar=no,directories=no,menubar=no,status=yes,height=250, width=800, top=300, left=200");
      ventana.document.write("<div id='cuerpo'><form id='form1' name='form1' method='post' action='prueba.php'>");
      ventana.document.write("<th scope='col'><input type='text' name='textfield' /></th><th scope='col'></th></tr><tr>");						
	  ventana.document.write("<input type='button'onclick='alert('t')' value='clic' /></th><th width='15' scope='col'></th></tr></table>");      
    }
lo he probado sin el alert(), mandando variables a la pagina prueba.php y las recibe y las imprime, pero no puedo hacer funcionar el alert(), aunque es una prueba, porque lo que me interesa es validar los cuadros de texto

saludos
  #2 (permalink)  
Antiguo 20/02/2010, 14:01
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: ¿como hacer funcion javascript ejecutada desde otra funcion javascript?

Código:
onclick='alert('t')'
tienes problema de comillas. fijate que estas usando comilla simple para definir el atributo onclick y comilla simple para el string 't'. encima de eso, toda la cadena es un string pasado a la funcion write. en este caso tienes que escapar las comillas del string 't'.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 20/02/2010, 18:31
 
Fecha de Ingreso: febrero-2010
Ubicación: /home/México
Mensajes: 57
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: ¿como hacer funcion javascript ejecutada desde otra funcion javascript?

Cita:
Iniciado por zerokilled Ver Mensaje
Código:
onclick='alert('t')'
tienes problema de comillas. fijate que estas usando comilla simple para definir el atributo onclick y comilla simple para el string 't'. encima de eso, toda la cadena es un string pasado a la funcion write. en este caso tienes que escapar las comillas del string 't'.
gracias por la respuesta, te refieres a hacer esto:

Código:
onclick='alert("texto")'
si es asi, creeme que lo he intentado y en ese caso ni siquiera me abre la ventana, es como si "interrumpiera el codigo javascript", y lo puse con comilla simple precisamente porque como dices, esta dentro de un write.

me interesa lo que dices de "escapar las comillas del string" a lo mejor ahi esta la respuesta

saludos
  #4 (permalink)  
Antiguo 20/02/2010, 18:35
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: ¿como hacer funcion javascript ejecutada desde otra funcion javascript?

si lo cambias por doble comillas tambien te va dar error porque las doble comillas son del string de document.write. tienes que escapar las comillas. para escapar un caracter simplemente tienes que anteceder el caracter con una barra diagonal inversa. por ejemplo \' o \".
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 20/02/2010, 18:41
 
Fecha de Ingreso: febrero-2010
Ubicación: /home/México
Mensajes: 57
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: ¿como hacer funcion javascript ejecutada desde otra funcion javascript?

Cita:
Iniciado por zerokilled Ver Mensaje
si lo cambias por doble comillas tambien te va dar error porque las doble comillas son del string de document.write. tienes que escapar las comillas. para escapar un caracter simplemente tienes que anteceder el caracter con una barra diagonal inversa. por ejemplo \' o \".
tenias mucha razon , la jugada era esa precisamente y el codigo queda asi:

Código:
onclick='alert(\"t\")'
saludos y gracias, por cierto, no se si ves mi codigo al principio, en el que pongo una linea document.write en cada linea, mi duda es si hay alguna manera de cortar la linea de codigo sin que afecte su funcionamiento?

saludos
  #6 (permalink)  
Antiguo 20/02/2010, 18:52
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: ¿como hacer funcion javascript ejecutada desde otra funcion javascript?

¿a que te refieres con cortar la linea de codigo? lo que estoy entendiendo es crear varios document.write con una linea de codigo html incompleta. por ejemplo,
Código:
document.write("<img");
document.write(" width=80");
document.write(" />");
si te refieres a eso, pues si. se puede hace y no hay problema alguno. document.write funciona como un flujo de contenido. es decir, va escribiendo en el documento segun el orden en que va apareciendo el codigo. el navegador no lo interpretara como error hasta cuando se cierre la escritura.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #7 (permalink)  
Antiguo 20/02/2010, 18:58
 
Fecha de Ingreso: febrero-2010
Ubicación: /home/México
Mensajes: 57
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: ¿como hacer funcion javascript ejecutada desde otra funcion javascript?

a que por ejemplo en vez de escribir asi :

Código:
ventana.document.write("<div id='cuerpo'><form id='form1' name='form1' method='post' action='prueba.php'>");
ventana.document.write("<th scope='col'><input type='text' name='textfield' /></th><th scope='col'></th></tr><tr>");						
ventana.document.write("<input type='button'onclick='alert('t')' value='clic' /></th><th width='15' scope='col'></th></tr></table>");      
    }
sea solo con un document. write, algo asi como:

document.wite("parte del codigo que aqui se corta
y en este lugar corresponde a la misma sentencia
lo mismo que aqui y ademas funciona")

yo cuando hago algo asi, no funciona mi codigo. espero haberme explicado :S
  #8 (permalink)  
Antiguo 20/02/2010, 19:13
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: ¿como hacer funcion javascript ejecutada desde otra funcion javascript?

si, tambien puedes hacerlo asi. no te funciona porque estas introduciendo una nueva linea dentro de un string. javascript interpreta las nuevas lineas (line feed o carriage return) como una terminacion de instruccion. por tanto, un string tiene que ser cerrado en la misma linea. sin embargo, hay una forma de como indicarle al interpret que ignore la nueva linea dentro de un string. antes de la nueva linea tienes que incluir una barra diagonal inversa (\). por ejemplo,
Código:
"mi string \
en varias \
lineas, \
y asi sucecivamente";
esa es una forma con un solo string. en el caso de document.write tambien puedes incluir una cantidad variable de argumentos. como en cualquier otra funcion, cada argumento separado con coma. pero por supuesto, cada argumento tiene que ser una expresion valida. es decir,
Código:
document.write("mi string ",
"en varias ",
"lineas, ",
"y asi sucecivamente");
// fijate que en cada linea hay un string
// es decir, se abre y se cierra el string en una misma linea;
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #9 (permalink)  
Antiguo 20/02/2010, 19:55
 
Fecha de Ingreso: febrero-2010
Ubicación: /home/México
Mensajes: 57
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: ¿como hacer funcion javascript ejecutada desde otra funcion javascript?

perfecto :D, gracias probe de las dos maneras y las dos funcionan,

x cierto apenas hoy me registre aqui pero no se si haya algun tutorial sobre como hacer graficas con el open flash chart, estoy aprendiendo y les estoy agarrando el hilo asi que de paso estoy haciendo una especie de tutorial y quisiera postearlo por si a alguien le sirve pero no se si ya esta o en que seccion postearla o a quien pedir permiso ???

saludos
  #10 (permalink)  
Antiguo 20/02/2010, 20:25
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: ¿como hacer funcion javascript ejecutada desde otra funcion javascript?

pues la verdad no tengo idea si ya existe algun tutorial de dicho tema en el foro. lo cierto es que hice una busqueda y encontre varias entradas principalmente del foro php. estoy seguro que los aportes son igual de bienvenido. simplemente asegurate de darle un enfoque adecuado de acuerdo al foro en que lo publiques. no creo que tengas que pedir permiso.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #11 (permalink)  
Antiguo 21/02/2010, 06:56
 
Fecha de Ingreso: febrero-2010
Ubicación: /home/México
Mensajes: 57
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: ¿como hacer funcion javascript ejecutada desde otra funcion javascript?

muchas gracias :D , me estare dando una vuelta por aca seguido

saludos

Etiquetas: funcion
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 18:23.