/ Cuadro de diálogo de diálogo de Fancybox - jquery, fancybox

Clics en el cuadro de diálogo de Fancybox - jquery, fancybox

Tengo una página desde la que un usuario puede enviar unformulario corto solicitando una cotización. No quiero perder el contexto de la página, así que me gustaría abrir ese formulario en una ventana de diálogo y permitirles enviar desde allí. Todo esto funciona, pero tengo problemas con las implementaciones de iframe y ajax. Específicamente:

  1. No puedo obtener la implementación del iframe para cambiar el tamaño de su contenido.
  2. No puedo obtener la implementación de ajax para enviar el formulario dentro el dialogo

Cuando se envíe el formulario, deseo que el cuadro de diálogo permanezca abierto para poder mostrar cualquier error de formulario o un mensaje de agradecimiento / éxito para el usuario. Entonces podrían volver a enviar o cerrar el diálogo.

No he podido encontrar una manera de hacer que esto funcione. No me importa especialmente qué implementación utilizo, pero necesito que la experiencia del usuario sea decente. ¿Algunas ideas?

Respuestas

0 para la respuesta № 1

Puedes usar el método público. $.fancybox.resizedocumentado aquí.

El envío del formulario dentro del FancyBox se puede hacer de diferentes maneras. Personalmente prefiero hacer un envío AJAX y mostrar los resultados utilizando una devolución de llamada. Aquí hay un ejemplo:

$(function(){
var form = "
<form action="/" method="post">
<label>
Enter something:<br>
<input type="text" name="textbox" />
</label>
<input type="submit" value="OK" />
</form>";

$.fancybox({
content: form,
onComplete: function(){

$.fancybox.resize(); // Not needed, just for demo

$("#fancybox-content form").submit(function(){
$.ajax({
url: "http://fiddle.jshell.net/echo/jsonp/",
type: "json",
success: function(d){

// The "d" object here would be populated

$.fancybox({
content: "Thanks for submitting!"
});
}
});

return false;
});
}
});
});