el formulario se envía antes de jquery dialog ui

tengo este complemento openid pero cuando hago clic en aol se abre el cuadro de diálogo y en poco tiempo se cierra automáticamente y se envía el formulario. quiero que se detenga en el momento en que se abra el cuadro de diálogo y que el formulario se envíe solo cuando cierre el cuadro de diálogo

Por favor, ayúdame

(function($){
  $.fn.openid = function() {
    $('input').click(function(e){
      var provider = $(this).attr('class');
     if (provider == 'aol') {
        $("#dialog").dialog();  
         }
     else{
      var provider_url = $(this).attr('id');  //get id
      var myinput = $('<input type="hidden" name="provider_url"/>').val(provider_url);
        }  
        $('form').append(myinput);
      $('form').submit();
    })
  }
})(jQuery);

preguntado el 02 de mayo de 12 a las 17:05

El código que has publicado no tiene sentido. Si el proveedor es aol, abra un cuadro de diálogo; de lo contrario, obtenga el proveedor de la ID. El, independientemente del if/else, envíe el formulario. ¿No debería generar el cuadro de diálogo independientemente del proveedor y luego, si desea que se envíe al cerrar el cuadro de diálogo, mueva ese código de envío dentro del evento de cierre del cuadro de diálogo? -

1 Respuestas

Agregar e.stopPropogation(); a la primera línea del click controlador de eventos para evitar que se produzca el envío normal del formulario.

contestado el 02 de mayo de 12 a las 17:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.