【问题标题】:jquery form gets submitted before jquery dialog uijquery 表单在 jquery 对话框 ui 之前提交
【发布时间】:2012-05-02 18:41:25
【问题描述】:

我有这个 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 循环中,它也完全禁用了 else 循环中的表单

【问题讨论】:

    标签: php jquery jquery-ui


    【解决方案1】:

    你有没有尝试添加

    e.preventDefault();
    

    在你的点击函数的开头?

    【讨论】:

      【解决方案2】:

      我认为问题是由于代码的和平而发生的:

      $('form').submit();
      

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-03-01
        • 2015-06-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-09-08
        • 1970-01-01
        相关资源
        最近更新 更多