Foros del Web » Programando para Internet » Javascript »

ayuda con el opener????

Estas en el tema de ayuda con el opener???? en el foro de Javascript en Foros del Web. necesito ayuda : como hago para actualizar un combo que tengo en una ventana padre desde una subventana en la cual tengo una caja de ...
  #1 (permalink)  
Antiguo 21/07/2003, 11:38
Avatar de barba negra  
Fecha de Ingreso: mayo-2003
Ubicación: bogota
Mensajes: 91
Antigüedad: 21 años
Puntos: 0
ayuda con el opener????

necesito ayuda :


como hago para actualizar un combo que tengo en una ventana padre desde una subventana en la cual tengo una caja de texto y un boton..... el combo de la ventana padre se actualizara con el contenido de la cja de texto al hacer click en boton?

el codigo que utilizo es el siguiente:

Código PHP:
function guardar()
{                              
   var 
obj=new Option();
   
obj.value=document.form1.criterio.value
   
obj.text=document.form1.criterio.text;
  
opener.document.forma1.criterio.options  [opener.document.forma1.criterio.options.length]=obj;
  
window.close();

la funcion guardar la llamo desde un evento onclick del boton de la pop up......
document.form1.criterio.value es el contenido de la caja de texto de la pop up
opener.document.criterio es el combo de la ventana padre que quiero actualizar......

no se porque no funciona ayudenme....
por favor enviar ejemplo..... lo necesito urgente.....

gracias.......
un saludo
__________________
quien se duerme se lo lleva la corriente.......


Última edición por barba negra; 21/07/2003 a las 18:59
  #2 (permalink)  
Antiguo 21/07/2003, 19:04
Avatar de TurKa  
Fecha de Ingreso: enero-2003
Ubicación: Gerli, Avellaneda
Mensajes: 543
Antigüedad: 21 años, 3 meses
Puntos: 4
Todo depende de lo que necesites hacer con tu combo. Es decir, deseas actualizarlo en que forma???
Modificando el texto de un option
Agregando una o más opciones

Por ejemplo, tienes un combo en tu "ventana padre" (como la llamas tu):
Código:
<form name="formulario1">
<select name="combo" size=4>
<option value="1">opcion 1</option>
</select>
</form>
Suponte que lo que quieres hacer es agregar una opcion con el texto que se escribe en el text de la otra ventana:

este sería el código de la otra ventana:
Código:
<script languaje="javascript">
function nuevaOpcion() {
if (formulario.texto.value != "") {
text = formulario.texto.value;
o = opener.document.formulario1.combo.options.length;
opener.document.formulario1.combo.options[o++] = new Option(text,text,"","");
   }
}
</script>

<form name="formulario">
<input type="text" name="texto">
<input type="button" onClick="nuevaOpcion()" value="Agregar">
</form>
Espero te sirva, pero de todas formas, depende de la forma en la cual quieras actualizar tu combo.

Saludos!!!!
__________________
Programación LAMP con Scrum y XP
www.eugeniabahit.com.com.ar

Última edición por TurKa; 21/07/2003 a las 19:08
  #3 (permalink)  
Antiguo 22/07/2003, 14:12
 
Fecha de Ingreso: abril-2003
Ubicación: Bogota
Mensajes: 131
Antigüedad: 21 años
Puntos: 2
Este ejemplo no funciona, ya se le hizo las pruebas pertinentes pero no funciona, que podra estar pasando?
  #4 (permalink)  
Antiguo 22/07/2003, 16:42
Avatar de TurKa  
Fecha de Ingreso: enero-2003
Ubicación: Gerli, Avellaneda
Mensajes: 543
Antigüedad: 21 años, 3 meses
Puntos: 4
Estuve probándolo y lo que creo que está pasando (para mi sorpresa) es que el constructor new Option no funciona desde un formulario externo.

Plantearé esta pregunta en un nuevo tema.
__________________
Programación LAMP con Scrum y XP
www.eugeniabahit.com.com.ar
  #5 (permalink)  
Antiguo 24/07/2003, 20:45
Avatar de TurKa  
Fecha de Ingreso: enero-2003
Ubicación: Gerli, Avellaneda
Mensajes: 543
Antigüedad: 21 años, 3 meses
Puntos: 4
Aquí te dejo el código modificado, por si a alguien le sirve además.
Fíjate que está comentado, por si las dudas.
Código:
<body bgcolor="#009999">
<script languaje="javascript">   
function guardar() {                              
if (forma1.criterio1.value != "") {
	text = forma1.criterio1.value; // este es el texto que escribe el usuario
	o = forma1.criterio.options.length; // cuenta la cantidad de opciones del select
	forma1.criterio.options[o++] = new Option(text,text,"","");
	// forma1.criterio.options[o++] ==> suma 1 a las opciones actuales
	// new Option(text,text,"",""); ==> crea una nueva opción
	alert("\""+text+"\" ha sido agregado"); // da un mensaje de alerta diciendo que se agregó la opción
	}
}
</script>

<form name="forma1" method="post" action="">
  <table width="100%" border="1" cellspacing="0" cellpadding="0">
    <tr> 
      <td colspan="2"><div align="center"><strong>Ingreso de Datos</strong></div></td>
    </tr>
    <tr> 
      <td width="9%">Criterio:</td>
      <td width="91%"><select name="criterio" id="criterio">
        </select>
      <input type="text" name="criterio1" class="BoxNameAncha" value="nuevo criterio" onClick="this.value=''" size="20">
        <input type="button" name="boton_envio" value="Agregar" onClick="guardar()"></td>
    </tr>
    <tr> 
      <td>Nombre:</td>
      <td><input type="text" name="textfield" size="20"></td>
    </tr>
    <tr> 
      <td>&nbsp;</td>
      <td><input type="submit" name="Submit" value="Enviar Datos"></td>
    </tr>
  </table>
</form>
</body>
Saludos!
__________________
Programación LAMP con Scrum y XP
www.eugeniabahit.com.com.ar
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 07:11.