jQuery 表单在 jQuery 对话框 UI 之前提交


jquery form gets submitted before jquery dialog ui

我有这个 openid 插件,但是当我单击 AOL 时,对话框会打开,并且很快就会自动关闭并提交表单。 我希望它在对话框打开时停止关闭,并且仅在关闭对话框时提交表单 shud

请帮帮我

(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);

甚至 e.stopPropogation(); 到 click 事件处理程序不起作用即使我把form.submit(返回false)放在if循环中,它也完全禁用了表单,否则也会

循环

您是否尝试过添加

e.preventDefault();

在您的点击功能开始时?

我认为由于代码的这种和平,问题正在发生:

$('form').submit();

代码的和平是独立的,因此每当点击$('input')时都会被执行。你应该尝试的是将代码的和平放在另一个jQuery点击函数中,或者把它放在if of else语句中。

$('.buttonX').click(function()
{
   $('form').submit();
});