Cerca de Fancybox iframe en forma de presentar utilizando el BOTÓN de etiqueta – no de trabajo

De acuerdo a la Fancybox de la API, estoy utilizando el código siguiente en un iframe:

<form>

... //form fields here

<button onclick="parent.$.fancybox.close();">
<span>Save</span>
</button>

</form>

El formulario en realidad se cierra cuando «Guardar», se hace clic en — pero el contenido del formulario no se envía. Es como el close evento se activa antes de que el formulario en realidad presenta su contenido.

Sin la onclick, el contenido es presentado, pero en la siguiente página se abre en el iframe, no lo quiero.

Hay una forma de evitar esto?

Gracias por su ayuda.

InformationsquelleAutor pepe | 2011-03-30

4 Kommentare

  1. 8

    Puede utilizar evento.preventDefault() método como este:

    <form>
    
    ... //form fields here
    
    <button onclick="event.preventDefault(); parent.$.fancybox.close();">
    <span>Save</span>
    </button>
    
    </form>

    Luego enviar la página con jquery

    Así que será mejor hacerlo en una función como esta:

    function closeME()
    {
       event.preventDefault(); 
       parent.$.fancybox.close();
       $('#myForm').submit();
    }    
        ... //form fields here
    
        <button onclick="closeME();">
        <span>Save</span>
        </button>
    
    
    
        </form>

    <form action="" method="post" id="myForm">
        ... //form fields here
        <button onclick="closeME();">
        <span>Save</span>
        </button>
    </form>
    
        <script type="text/javascript">
            function closeME() {
                event.preventDefault();
                parent.$.fancybox.close();
                $('#myForm').submit();
            }
        </script>
    • gracias por la sugerencia, pero por desgracia no funciona — cierra el formulario, pero no se presentó — esto también sucede si cambio de la línea de orden, con .submit antes de .close
    • He editado yo el ejemplo de código, por favor, inténtelo de nuevo, esperamos que este trabajo en su caso.
    • esto es alucinante, – todavía no funciona, he intentado muchas cosas diferentes, y nunca toma el contenido del formulario cuando el fancybox es cerrado es close impide submit suceda y vice-versa
    • trabajó para mí… Gracias!
    • formulario envía son tan de los 2000 …. sólo el uso de jquery/ajax
    • Gracias Amr.. funcionó como que..

  2. 0

    Me terminó de resolver esto mediante la creación de botones utilizando múltiples span (estilo) y unas pocas líneas de jQuery

    <span id="save_btn" class="fc-button fc-button-prev fc-state-default fc-corner-left fc-corner-right">
            <span class="fc-button-inner">
                <span class="fc-button-content save_button">Save</span>
                <span class="fc-button-effect">
                    <span></span>
                </span>
            </span>
    </span>
    
    <script>
    $('#save_btn').click(function() {
      $('#my_form').submit();
    });
    </script>
    • La pregunta aquí – estoy teniendo el mismo problema, ¿pero cómo es que esta cerca de la fancybox? ¿Todavía uso <button onclick="parent.$.fancybox.close();"> en algún lugar? ¿Cómo funciona eso?
  3. 0

    Este funciona perfecto me:

    $('body',top.document).removeClass('fancybox-lock');
    $('.fancybox-overlay',top.document).css('display','none');

    Todas las demás cosas no funcionan.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea