Ver Mensaje Individual
  #12 (permalink)  
Antiguo 25/02/2010, 04:02
jesusangel8
 
Fecha de Ingreso: febrero-2010
Mensajes: 2
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Fallan los botones en Jquery.UI dialog()

Hola a tod@s:

Tengo un problema que no estoy siendo capaz de resolver con los botones.

Lo que quiero es que cuando abra la nueva ventana de formulario, el botón
que tengo de guardar llama a una función ajax para realizar la validación y el
envio, pero después de ésto quiero que se cierre el dialgo y me vuelva a la Ç
página donde lo cargué.

El botón cancelar lo que debería hacer es cerrar la ventana y volver la página
que llamó al dialog.


La página desde la que llamo tiene ésto:


<script type="text/javascript">
$(function(){

$('#dialog_link').click(function(){
$('#dialog').dialog('open');
$.get('myDiv.php', function(data) {
$('#dialog').html(data);
});
return false;
});

// Dialog
$('#dialog').dialog({
modal:true,
autoOpen: false,
width: 600,
position: 'center',
/*buttons: {
"Ok": function() {
$(this).dialog("close");
},
"Cancel": function() {
$(this).dialog("close");

}
},*/

open: function() {
$('#dialog').parent().appendTo($('#form1'));

}

});


// Dialog Link



//Validar form
$("#form1").validate({
rules: {
'data[Contact][name]': "required",
'data[Contact][recipient]': { required: true, email: true },
'data[Contact][message]': "required"
},
messages: {
'data[Contact][name]': "Por favor ingrese su nombre",
'data[Contact][recipient]': "Ingrese una dirección de e-mail válida",
'data[Contact][message]': "Por favor, ingrese su mensaje o consulta"
},

debug: true,
errorElement: "label",
errorContainer: $("#errores"),
submitHandler: function(form){

$.ajax({

type: "GET",
url:"envio.php",
contentType: "application/x-www-form-urlencoded",
processData: false,
data: "nombre="+$('#ContactName').val()+"&email="+$('#Co ntactRecipient').val()+"&telefono="+$('#ContactPho ne').val()+"&comentario="+$('#ContactMessage').val (),
success: function(msg){
//if(msg==1){
$("#mensaje").html("<strong>El mensaje se ha enviado correctamente!</strong>");
$('#form1').dialog('close');
//}
}

});
}
});

});
</script>

<body>
<p><a href="#" id="dialog_link" class="ui-state-default ui-corner-all"><span class="ui-icon ui-icon-newwin"></span>Open Dialog</a></p>

<!-- botón de llamada -->

<!-- Aquí cargo la parte del formulario que está en la página myDiv.php, dentro
del div "dialog" -->
<form id="form1" runat="server">

<div id="dialog" title="Dialog Title">


</div>

</form>


La página del dialog es la siguiente myDiv.php
<body>
<fieldset style="display:none;">
<input type="hidden" name="_method" value="POST" /></fieldset>
<label for="ContactName">NOMBRE</label>
<input name="data[Contact][name]" type="text" class="textField"
maxlength="255" value="" id="ContactName" />
<label for="ContactRecipient">CORREO ELECTRÓNICO</label>
<input name="data[Contact][recipient]" type="text" class="textField "
value="" id="ContactRecipient" />

<label for="ContactPhone">TELÉFONO</label>
<input name="data[Contact][phone]" type="text" class="textField"
maxlength="255" value="" id="ContactPhone" />
<label for="ContactMessage">MENSAJE / CONSULTA</label>
<textarea name="data[Contact][message]" cols="5" rows="3"
class="textArea" id="ContactMessage" ></textarea>


<p style='margin:10px 0 0 80px' id="mensaje"></p>
<div class="ui-dialog-buttonpane ui-widget-content ui-helper-clearfix">
<input type="submit" alt="Guardar" class="ui-state-default ui-corner-all"
value="Guardar">

<input type="submit" alt="Cancelar" class="ui-state-default ui-corner-all"
value="Cancelar">
</div>
</body>

Pues lo dicho cuando pincho en Guardar, me valida,envia pero no cierra la ventana y vuelvo a la inicial y lo mismo con el cancelar.

Alguién podría echarme una mano, please?

Muchas gracias