【问题标题】:jquery form with dialog ( issue with the if else loop in jquery)带有对话框的jquery表单(jquery中的if else循环问题)
【发布时间】:2012-05-02 08:28:38
【问题描述】:

嗨,有一个表单要在 jquery 插件“openid”的帮助下提交。现在,当我点击 google_button 时一切正常,但是当我点击 aol 时,它会打开对话框并提交表单(当 form.submit 与return false 被注释掉)。当我删除 cmets 时,aol 将正常工作,只有 aol 对话框打开且表单未提交,但在这种情况下也不会提交 google 表单。

请帮帮我

================================================ ===================================

<form action="example.php" method="post" >   
<input type="image" src="images/google_button.png" id='https://www.google.com/accounts/o8/id' class="google"/> 
          <input type="image" src="images/AOL_button.png" id='http://openid.aol.com/' class='aol' />
</form>

================================================ ===================================

 <script type="text/javascript">  
      $(document).ready(function(){
        $('form').openid(); 
      })
    </script>

================================================ ===================================

(function($){
  $.fn.openid = function() {
    $('input').click(function(e){
      var provider = $(this).attr('class');
     if (provider == 'aol') {
        $("#dialog").dialog();
         /*$('form').submit(function(){
             return false;   
    })*/
     }
     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);

================================================ ==================================

【问题讨论】:

    标签: php jquery html jquery-ui


    【解决方案1】:

    尝试在if else构造后发送表单。

    【讨论】:

    • 我试过了,但对话框仍然打开,但它会自动关闭并提交表单 (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 = $('').val(provider_url); } $('form').append (myinput); $('form').submit(); }) } })(jQuery);
    【解决方案2】:
    (function($){
      $.fn.openid = function() {
        $('input').click(function(e){
          var provider = $(this).attr('class');
         if (provider == 'aol') {
            $("#dialog").dialog();
             /*$('form').submit(function(){
                 return false;   
        })*/
      ***return false;***   //add return false in this section
         }
         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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多