Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/01/2010, 09:09
lastunikorn
 
Fecha de Ingreso: julio-2008
Mensajes: 21
Antigüedad: 16 años, 4 meses
Puntos: 0
Select + Insert

Hola a todos.
Os cuento, tengo un select dónde hay un listado de paises (se hace mediante una función php, y los valores los recoge de la base de datos). Una de las opciones es "agregar nuevo". Esta opcion hace aparecer un input text oculto que nos permite agregar un nuevo país.

El botón que deja añadir el país hace un insert a la base de datos, y después recarga el div dónde se encuentra el select.

El caso es, que aún refrescando el div después de hacer el insert, no aparece la nueva opción hasta recargar la página entera.

Puedo suponer que al ser asíncrono la recarga del div se hace antes de que el insert sea efectivo, pero desconozco cómo hacer que "se espere".

Código Javascript:
Ver original
  1. function inesrtarPais(){
  2.     var pais = document.getElementById("paisNuevo").value;
  3.     ajax = getXMLHttpRequest();
  4.     ajax.onreadystatechange = function() {
  5.         if(ajax.readyState == 4) {
  6.             cont.innerHTML = ajax.responseText;
  7.         }
  8.     }
  9.     ajax.open('GET', 'funciones/insertarPais.php?paisNuevo=' +pais , false);
  10.     ajax.send(null);                           
  11.     var valido=ajax.responseText;
  12.     alert(valido);
  13.     if (valido=="OK "){// "OK" es la respuesta de la función insertPais.php
  14.         $("#insertar_pais").hide();
  15.         $("#zonaPais").html("<?php menu_pais() ?>");
  16.                                        
  17.     }
  18. }