2015-02-06 145 views
0

我正在嘗試使用AngularJS提交表單而不使用$ http。我通過Javascript檢查表單,但不知道如何在檢查完成後提交。示例代碼如下所示:AngularJS提交表單提交

AngularJS

app.directive('checkLoggedinSubmit', ['account_id', 'session', 'LoginModal', 
    function(account_id, session, LoginModal) { 
     return { 
      restrict : 'A', 
      link : function(scope, element, attrs) { 

       element.bind('submit', function(e) { 
        e.preventDefault();    

        //If not logged in, show logged in, otherwise subit 
        if (!account_id && !session.read('account_id')) { 
         LoginModal.show(); 
        } else { 
         scope.$eval(attrs.checkLoggedinSubmit); 
         scope.$apply(); 
         //Tried To use JQuery 
         //$(e.currentTarget).submit(); 
        } 

       }); 

      } 
     }; 

}]); 

HTML表單

<form role="form" enctype="multipart/form-data" method="post" action="/file/submit" class="well" style="padding: 0px 20px 20px;" check-loggedin-submit > 
    <div class="form-group"> 
     <input type="file" name="my_file" /> 
    </div> 

    <div class="form-group"> 
     <input type="submit" class="btn btn-success" /> 
    </div> 

</form> 

我想有JQuery的提交表單,但扔了錯誤。任何人現在如何解決這個問題?

+0

我認爲最簡單的方法是將'e.preventDefault();'調用移到你的'if'語句中,所以它只會在需要的時候被調用。 – 2015-02-06 05:09:57

回答

0

嘗試:

<input type="submit" data-ng-click="save(input) class="btn btn-success" /> 

保存是JQuery的方法名和輸入PARAMS。