Una de JavaScript "avanzado"

23/05/2005 - 23:10 por Manuel Vera | Informe spam
Hola

A ver si lo que voy a preguntar se puede hacer...

Tengo una pagina (A.ASP) con un listbox (<SELECT>). A traves de un boton
abro una nueva ventana en la pagina (B.ASP) que en resumen me muestra una
tabla o listado de registros para elegir y seleccionar 1 de ellos con un
boton radio (<INPUT TYPE=RADIO>). Quiero a través de JavaScrip poder pasar
ese valor seleccionado en B.ASP hacia A.ASP y meterlo en el listbox. ¿Se
puede? ¿Como?

Gracias
Salu2
MV

Preguntas similare

Leer las respuestas

#1 Manuel Vera
23/05/2005 - 23:55 | Informe spam
Ese codigo lo tengo, pero me está dando un error feo que hasta cierra el
browser. Lo tengo en una misma pagina y funciona ok, pero en el esquema que
plantee da ese error.

Salu2
MV

"Juan Ignacio Herrera" <nacho(quitar)@delta.com.gt> wrote in message
news:Omix8E%
Probá esto:

Dado que hayas abierto con javascript la página B.HTML:

<input type="radio" value="elvalor" onclick="javascript:
opener.document.elform.elselect.options[1] = new Option('Dos','2')
;self.close();">

Solo tenés que averiguar primero cuantos options tiene el select al
principio para poder poner el siguiente entre los corchetes. Por ejempo si
tenés 3 items en el select al empezar ponés [4].

Juan Ignacio Herrera

"Manuel Vera" wrote in message
news:
> Hola
>
> A ver si lo que voy a preguntar se puede hacer...
>
> Tengo una pagina (A.ASP) con un listbox (<SELECT>). A traves de un boton
> abro una nueva ventana en la pagina (B.ASP) que en resumen me muestra


una
> tabla o listado de registros para elegir y seleccionar 1 de ellos con un
> boton radio (<INPUT TYPE=RADIO>). Quiero a través de JavaScrip poder


pasar
> ese valor seleccionado en B.ASP hacia A.ASP y meterlo en el listbox. ¿Se
> puede? ¿Como?
>
> Gracias
> Salu2
> MV
>
>


Respuesta Responder a este mensaje
#2 Juan Ignacio Herrera
23/05/2005 - 23:57 | Informe spam
Probá esto:

Dado que hayas abierto con javascript la página B.HTML:

<input type="radio" value="elvalor" onclick="javascript:
opener.document.elform.elselect.options[1] = new Option('Dos','2')
;self.close();">

Solo tenés que averiguar primero cuantos options tiene el select al
principio para poder poner el siguiente entre los corchetes. Por ejempo si
tenés 3 items en el select al empezar ponés [4].

Juan Ignacio Herrera

"Manuel Vera" wrote in message
news:
Hola

A ver si lo que voy a preguntar se puede hacer...

Tengo una pagina (A.ASP) con un listbox (<SELECT>). A traves de un boton
abro una nueva ventana en la pagina (B.ASP) que en resumen me muestra una
tabla o listado de registros para elegir y seleccionar 1 de ellos con un
boton radio (<INPUT TYPE=RADIO>). Quiero a través de JavaScrip poder pasar
ese valor seleccionado en B.ASP hacia A.ASP y meterlo en el listbox. ¿Se
puede? ¿Como?

Gracias
Salu2
MV


Respuesta Responder a este mensaje
#3 Manuel Vera
24/05/2005 - 00:14 | Informe spam
Aqui esta mi codigo
with (window.opener.document.forms['miForm']){
alert('aqui toy'); //ok
ctrl=null; //ok
ctrl=elements['nombreLista']; //ok
i=ctrl.length; //ok
alert(ctrl.name+' tiene '+i+' elementos'); //ok
alert(cod + ' . ' +txt); //ok, los valores a agregar
alert(ctrl[i-1].text); //ok, me da el ultimo valor en la lista
opener.document.frmDatos.elements['lstCod'+tabla].options[i]=new
Option(txt,cod,false,false); //ERROR
/*
A runtime error has occurred
Line 62
Error The server threw an exception
*/
//ctrl.options[i]=new Option(txt,cod,false,false);
//ctrl.options[i]=new Option(txt,cod,false,false);
//opener.document.elform.elselect.options[1] = new Option('Dos','2')
}

Salu2
MV
Respuesta Responder a este mensaje
#4 Manuel Vera
24/05/2005 - 18:03 | Informe spam
Bueno, el código siguiente falla en IE bajo W98 y WXP, pero funciona
perfecto en NS 7.0 bajo WXP.
Lo que trato es de abrir un popup con window.open() donde tengo unos
registros a seleccionar para enviar a una lista (<SELECT>) en la ventana
principal donde se invocó el .open().

with (window.opener.document.forms['miForm']){
alert('aqui toy'); //ok
ctrl=null; //ok
ctrl=elements['nombreLista']; //ok
i=ctrl.length; //ok
alert(ctrl.name+' tiene '+i+' elementos'); //ok
alert(cod + ' . ' +txt); //ok, los valores a agregar
alert(ctrl[i-1].text); //ok, me da el ultimo valor en la lista
/*
A runtime error has occurred
Line 62
Error The server threw an exception
*/
ctrl.options[i]=new Option(txt,cod,false,false); // E R R O R
}

Buscando por el texto de error "Error The server threw an exception"
consegui una forma alternativa de hacerlo.
Resulta que desde el popup se puede invocar y manipular funciones y
variables en la ventana principal, asi:
opener.someFunction();
var a = opener.someVariable;

e igualmente, desde la ventana principal hacia la ventana popup, asao:
var popup = window.open("somepage.htm", "", windowfeatures);
popup.popupFunction();
var b = popup.popupVariable;

Finalmente, lo que hice fue reemplazar todo el codigo with(){...} por lo
siguiente:
opener.miFuncionEnPrincipal(lista de argumentos);
y miFuncionEnPrincipal() se encarga de carga la lista con lo valores
pasados.

Salu2
MV

Fuente:
http://www.webdeveloper.com/forum/a...50509.html
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida