Pregunta

Estoy tratando de confirmación de diálogo sobre la pantalla de jQuery antes de enviar un formulario. Pero no puedo conseguir que popup sólo cuando se envía el formulario este es el código:

$(function remove() {                           
    $("#dialog-confirm").dialog({
        resizable: false,
        height:200,
        modal: true,
        buttons: {
            'Delete campaign': function() {
                return true ;
                $(this).dialog('close');
            },
            Cancel: function() {
                return false;
                $(this).dialog('close');
            }
        }
    });
});

contenido de la confirmación de diálogo

  <div id="dialog-confirm" title="Delete ?" style="display:none;">
    <p><span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 20px 0;"></span>This will be permanently deleted and cannot be recovered. Are you sure?</p>
</div>

Formulario de presentar el contenido

<form style="display: inline;" action="remove.php" method="post"" onsubmit="return remove()">
¿Fue útil?

Solución

remove la función no debe ser colocado en un $(...);, como $(function(){}) es algo que va a ejecutar de forma automática cuando se carga el documento, basta con mover la función que se define claramente en la raíz. También recomendaría el uso de devolución de llamada en línea; establecer una id en la forma y el uso siguiente en su lugar:

es decir.

function remove() {
  ...
}
$(function(){
  $('#formid').submit(remove);
  // normal initializing code here, which is executed when document is ready
})

o se puede definir así la devolución de llamada directa:

$(function(){
  $('#formid').submit(function(){
    // same code as in remove function above
  });
  // normal initializing code here, which is executed when document is ready
})   
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top