0

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

请帮帮我

(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(); 即使我将 form.submit (return false ) 放入 if 循环中,click 事件处理程序也不起作用,它也完全禁用了 else 循环

4

2 回答 2

0

您是否尝试过添加

e.preventDefault();

在你的点击功能的开始?

于 2012-05-02T18:49:57.940 回答
0

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

$('form').submit();

代码的和平是独立存在的,因此只要单击 $('input') 就会执行。您应该尝试将这种平静的代码放入另一个 jQuery click 函数中,或者将其放入 if of else 语句中。

$('.buttonX').click(function()
{
   $('form').submit();
});
于 2012-05-02T18:50:12.770 回答