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(); if ループに form.submit (return false ) を入れてもクリック イベント ハンドラが機能しない

4

2 に答える 2

0

追加してみましたか

e.preventDefault();

クリック機能の開始時に?

于 2012-05-02T18:49:57.940 に答える
0

このコードの平和のおかげで問題が発生していると思います。

$('form').submit();

コードの平和はそれ自体で成り立っているため、$('input')がクリックされるたびに実行されます。試してみる必要があるのは、そのコードの平和を別のjQueryクリック関数に入れるか、ifofelseステートメントの中に入れることです。

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