Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/09/2013, 09:23
Avatar de RastaMart
RastaMart
 
Fecha de Ingreso: noviembre-2006
Mensajes: 91
Antigüedad: 17 años, 5 meses
Puntos: 3
Porque se cierra el dialog modal jquer UI

Que tal buen día.

Apenas comienzo a usar jquery ui con el uso del modal. Pero un problema que tengo es el siguiente:

Cuando muestro el dialogo, envio datos de mi archivo js a php y quisiera recibir ese error para que de la oportunidad al usuario poder escribir nuevamente pero este se cierra.

mi archivo js contiene esto:


Código:
$(document).ready(function(){
          MostrarTodos(); 

            $( "#dialog" ).dialog({
            autoOpen: false,
            title: "Agregando",
            show: "blind",
            hide: "explode",
            modal: true,
            resizable: false,
            width: 480, //ancho de la ventanta
            height: 250 //alto de la ventana        

        });
    });

function Nuevo() //
{
    LimpiarForm();
    //abrir_dialog();
    $('#dialog').dialog("open");
}
function Save() //
{
    var myString = $(formAlta).serialize(true);
    $.ajax({
       url: "../drv/CatPais.php", /* Llamamos a tu archivo */
       data: "str="+myString+"&Operacion=1", /* Ponemos los parametros de ser necesarios */
       type: "GET", //como en la pagina donde se invoca es de tipo GET
       success:  function (data) {
            if(data == true)
              {
                   alert("Registro agregado");
              }
            else
               {
                   alert("Err :"+data);
                   return false;
               }
            },
            error: function (obj, error, objError){
                    //avisar que ocurrió un error
                    alert("Error: No se puedo guardar");
                    return false;
            }
            
    });
    
}

mi archivo html contiene lo siguiente:

Código:
<li><a href="javascript:void(0)" title="..." onclick="Nuevo()">Nuevo</a></li>


<div id="dialog" class="myform">
<form id="form" name="formAlta" method="" action="">
<input type="hidden" name="idpais" value='' id="idpais" />
<label>Pais: </label>
<input type="text" name="pais" id="pais" requiere="" />
 <span id="resultado"></span>
<button id = "cmdOp" type="submit" onclick="Save()">Agregar</button>
    </form>
</div>
en la parte donde recibe los datos para ejecutar la consulta-...

Código:
    try{
       $ImpC = new clsCatPais($cadena,$op);
       $rsp = $ImpC->SqlAddRegistro();				 	   
    if ($rsp == 1)   //pero ahora nos regresa un valor ClsPais
    {
         $ouput = true;// asignamos el valor a outpur
    echo $ouput;
    } 
    else			 
                  throw new Exception($rsp);
}
catch (Exception $e) //mandamos el error
   {
         $ouput = "Error al insertar registro: ".$e->getMessage();
          echo $ouput;       	
       }
No da tiempo de leer el mensaje si hubo error o por que motivos no se guardo, como que algo hacer un refresh porque se cierra completamente el dialog ya sea que haya cometido un error o no.

En cambio si le agrego un alert al final del Ajax, ahi logro ver el mensaje de error o confirmacion.

Espero me puedan ayudar. Gracias....