Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/02/2011, 08:44
guners86
 
Fecha de Ingreso: enero-2011
Ubicación: Bogotá
Mensajes: 9
Antigüedad: 13 años, 11 meses
Puntos: 0
Problema con cuadro de dialogo en jquery

Buen día,

Hola lo siguiente espara saber si me pueden ayudar con esto:

Tengo un script en jquery que primero valida unos campos que no esten vacios despues de esto muestra un dialogo de confirmacion con jquery UI si el usuario cancela no hace nada peri si acepte se supone que deberia mandar los datos a una pagina php guardar los datos y devolverme un mensaje que se guardaron los datos pero no me muestra dicho msj, el siguiente es el codigo en jquery:

Código:
var x;
x = $(document);
x.ready(iniciarEventos);

function iniciarEventos()
{
    x = $("#frmCrarNoticia");
    x.validate({
    errorLabelContainer: "#messageBox",
    wrapper: "li",
    submitHandler: validarDatos
    });

    x = $("#txtAsunto");
    x.rules("add",{
        required: true,
   	messages: {
            required: "Ingresa un Asunto"
        }
    });

    x = $("#txtComentario");
    x.rules("add",{
        required: true,
 	messages: {
            required: "Ingresa un Comentario"
        }
    });

    x = $("#txtFechaVigencia");
    x.rules("add",{
        required: true,
 	messages: {
            required: "Ingresa una fecha para la vigencia de la noticia"
        }
    });

    x = $("#txtFechaVigencia");
    x.datepicker($.datepicker.regional['es']);
    x.datepicker( "option", "appendText", '(dd-mm-yyyy)' );
    x.datepicker( "option", "dateFormat", "yy-mm-dd" );
    x.datepicker( "option", "showAnim", "fold" );
  
}

function validarDatos()
{
    var x =$("#txtAsunto");
    var y =$("#txtComentario");
    if(x.attr("value")!="" && y.attr("value")!="")
    {
        v=$("#txtFechaVigencia");
        w=$("#txtComentario");
        x=$("#txtUsuarioId");
        y=$("#txtConjuntoId");
        z=$("#txtAsunto");

        var texto = $('<div><p>Esta seguro de publicar la noticia</p></div>');

        $(texto).dialog({
           modal: true,
           title: "Publicar Noticia",
           width: 400,
           minWidth: 400,
           maxWidth: 400,
           minHeigth: 400,
           maxHeigth: 400,
           show: "fold",
           hide: "scale",
           buttons: {
               "Aceptar": aceptar,
	       "Cancelar": cancelar
			},
	dialogClass: 'alert'
        });
  }
}

function aceptar()
{
 $( this ).dialog("close");
    $.ajax({
        async:true,
        type: "POST",
        dataType: "html",
        contentType: "application/x-www-form-urlencoded",
        url:"clases/agregar_noticia.php",
        data:"usuarioId=" + x.attr("value") + "&conjuntoId=" + y.attr("value") + "&asunto=" + z.attr("value") + "&contenido=" + w.attr("value") + "&fechaVigencia=" + v.attr("value"),
        success:llegadaDatos,
        timeout:400000
   });
return true;
}


function cancelar()
{
    $( this ).dialog("close");
}

function llegadaDatos(mensaje)
{
  alert("se guardaron los datos");
}
el problema esta en la funcion aceptar pues me cierra el dialogo pero no me ejecuta la funcion ajax de jquery

Código:
function aceptar()
{
 $( this ).dialog("close");
    $.ajax({
        async:true,
        type: "POST",
        dataType: "html",
        contentType: "application/x-www-form-urlencoded",
        url:"clases/agregar_noticia.php",
        data:"usuarioId=" + x.attr("value") + "&conjuntoId=" + y.attr("value") + "&asunto=" + z.attr("value") + "&contenido=" + w.attr("value") + "&fechaVigencia=" + v.attr("value"),
        success:llegadaDatos,
        timeout:400000
   });
return true;
}

y no se por que, o no se que estare haciendo mal, si me pueden colaborar con eso les agradeceria enormemente