Foros del Web » Programando para Internet » Javascript »

Actulizar un div des de otra pàgina

Estas en el tema de Actulizar un div des de otra pàgina en el foro de Javascript en Foros del Web. Hola que tal a todos,mi question es la siguiente: Tengo una pagina1 donde tengo un formulario con un desplegable que accede a la base de ...
  #1 (permalink)  
Antiguo 30/12/2012, 08:17
 
Fecha de Ingreso: mayo-2012
Ubicación: Aitona
Mensajes: 20
Antigüedad: 12 años
Puntos: 0
Actulizar un div des de otra pàgina

Hola que tal a todos,mi question es la siguiente:
Tengo una pagina1 donde tengo un formulario con un desplegable que accede a la base de datos, cuando quiero entrar un registro que no esta en el desplegable (en el ejemplo, una nueva editorial), abro una pagina2 (popup) y des de esta le añado el registro, al cerrarla para que se me actualize el desplegable, sin que se me recargue toda la pagina(pues el usuaria habrá entrado ya otros datos) he de llamar a una función javascript desde un enlace. Bien esto ya me funciona!!
Pero el problema viene que yo querría que esta función javascript que ahora describiré se realizase al cerrar la pagina popup, así no hiciese falta, darle al enlace para que se actualizase el combobox
Aquí dejo el código que funciona:
Pagina 1
Código:
<script language="javascript" src="js/jquery-1.2.6.min.js"></script>
<script>
 function añadirregistro()
 {
 self.name = 'opener';
 remote = open('pagina2.php', 'remote', 'width=400,height=150,location=no,scrollbars=yes,menubars=no,toolbars=no,resizable=yes,fullscreen=no, status=yes');
 remote.focus();
 }
 </script> 
<script language="javascript">
function recargar(){ 
 var variable_post="Mi texto recargado";
 $.post("miscript.php", { variable: variable_post }, function(data){
 $("#recargado").html(data);
 }); 
}
</script>

<form action='altadelibros.php' method="post" enctype="multipart/form-data" name="form1
" id="form1">
<div id="recargado"><select name="editorial">
 <option value="">seleccionar una editorial</option>
 <?php
do { 
?>
 <option value="<?php echo $row_edito['IdEditorial']?>"><?php echo $row_edito['Editorial']?></option>
 <?php
} while ($row_edito = mysql_fetch_assoc($edito));
 $rows = mysql_num_rows($edito);
 if($rows > 0) {
 mysql_data_seek($edito, 0);
 $row_edito = mysql_fetch_assoc($edito);
 }
?>
 </select></div>

</FORM>
I en la pagina 2, simplemente le digo que cierre el formulario una vez entrada una nueva editorial:
Código:
<script>
 function cerrar()
 {
//opener.document.location.reload();
 window.close();
 }
 
 </script> 
</head>
<body>
 <input type="button" name="afeprop" id="afeprop" value="cerrar"
Muchas gracias si no se entiende puedo ser más esplícito
  #2 (permalink)  
Antiguo 30/12/2012, 09:40
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Actulizar un div des de otra pàgina

El ejemplo no lo termino de entender, pero basándome en el título


pagina a.html

Código HTML:
Ver original
  1. <script type="text/javascript">
  2. //<![CDATA[
  3. function actualiza(texto){
  4. document.getElementById('capa').innerHTML = texto;
  5. }
  6. //]]>
  7. <button onclick="window.open('b.html','nueva_vetana','width=300,height=300');">Abrir</button>
  8. <div id="capa">
  9. </div>

página b.html

Código HTML:
Ver original
  1. <script type="text/javascript">
  2. //<![CDATA[
  3. function cerrar(){
  4. var texto = document.getElementById('x').value;
  5. opener.actualiza(texto);
  6. self.close();
  7. }
  8. //]]>
  9. <button onclick="cerrar();">Cerrar</button>
  10. <input type="text" id="x">

La función actualiza puede hacer lo que quieras en a.html y recibir tantos parámetros como quieras

Saludos y Feliz Año
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 03/01/2013, 03:02
 
Fecha de Ingreso: mayo-2012
Ubicación: Aitona
Mensajes: 20
Antigüedad: 12 años
Puntos: 0
Respuesta: Actulizar un div des de otra pàgina

Hola que tal, muchas gracias por la pronta contesta, la verdad que no es exactamente esto lo que quería resolver(supongo que no deje suficientemente clara mi questión) però me ha sido de gran utilidad para resolver mi problema
Lo que querría actualizar es un desplegable, despres de añadir valores en la tabla de donde coge sus valores, sin recargar todo el formulario y lo he hecho así:
En el archivo a:

en el archivo b:
en un botón de formulario, despues entrar el nuevo registro, llamo a la función que esta en la página a:




Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.  
  3. function cerrar(){
  4.  
  5. opener.recargar();
  6. self.close();
  7. }
  8. //]]>
  9. </script>

I en la pàgina a tengo esta función que es la que me permite llamar el archivo miscript.php
Código Javascript:
Ver original
  1. <script language="javascript">
  2. function recargar(){   
  3.     $.post("miscript.php",
  4.      function(data){
  5.     $("#recargado").html(data);
  6.     });        
  7. }
  8. </script>
  9. sobre el siguiente div de la página a, que contiene un desplegable con el nombre de las editoriales existentes en la base de datos:


<div id="recargado">
<select name="editorialaka" id="editorialaka">
<option value="">seleccionar una editorial</option>
<?php
do {
?>
<option value="<?php echo $row_edito['IdEditorial']?>"><?php echo $row_edito['Editorial']?></option>
<?php
} while ($row_edito = mysql_fetch_assoc($edito));
$rows = mysql_num_rows($edito);
if($rows > 0) {
mysql_data_seek($edito, 0);
$row_edito = mysql_fetch_assoc($edito);
}
?>
</select>
</div>

El archivo miscript.php simplemente es el mismo desplegable, actualizado:

Código HTML:
Ver original
  1. <select name="editorialaka" id="editorialaka">
  2.   <?php
  3. do {  
  4. ?>
  5.   <option value="<?php echo $row_editorial['IdEditorial']?>"><?php echo $row_editorial['Editorial']?></option>
  6.   <?php
  7. } while ($row_editorial = mysql_fetch_assoc($editorial));
  8.  $rows = mysql_num_rows($editorial);
  9.  if($rows > 0) {
  10.       mysql_data_seek($editorial, 0);
  11.       $row_editorial = mysql_fetch_assoc($editorial);
  12.   }
  13. ?>

Lo dicho., muchas gracias por todo!!, ahora solo me falta validar de alguna manera este desplegable de manera que siempre se entre un valor en la pagina a!!
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 17:51.