2016-05-27 14 views
1

私はhtmlフォームと角度コントローラを持っています。 コントローラには、サーバー上のユーザーデータをチェックする1つの機能があります。 と私が成功した後サーバから検証した後にangularjsからフォームを送信

ng-click 

を使用してHTMLのボタンでこの関数を呼び出す、私はコントローラからフォームを送信します。

角度コントローラからform.submitにアクセスするにはどうすればよいですか?

ありがとうございます

+0

ng-submitを使用してください。https://docs.angularjs.org/api/ng/directive/ngサブミット –

答えて

0

あなたのフォームにng-submitディレクティブを使用することをお勧めします。そこから、あなたの検証後にtrue/falseを返すかもしれません。

コントローラ

app.controller('mainController', function($scope) { 
    $scope.submit = function(user) { 
    var isvalid = true; 

    // Add your code 
    // for server validation here 

    if (isvalid) { 
     return true; 
    } 
    return false; //failed 
    } 
}); 

Htmlの

<form name="userForm" ng-submit="submit(user)"> 
    <input type="text" ng-model="user.email" /> 
    <input type="text" ng-model="user.password" /> 
    <button type="submit">Submit</button> 
</form> 
0

uが検証を行うと、suコマンドを形成することができます。この機能で

validate(); 

、お電話ng-clickに仮定私はあなたがもし条件内のアクションを提出実行することができると思い、次のようにbmissionアクションは(私の構文が正しくないかもしれません....しかしI'amはちょうど私の考えを伝えようと)

$scope.vaidate = function(input) { 

    //Add your validation code here, it includes api call etc. 

    // If validation succeeds, run code for submitting the form. 
    if() // add validation success condition 
    { 
     //run code for submitting the form. 
    } 
    else 
    { 
     // Add code to show error message within the html form. 
    } 

} 

。私はこの方法でフォームを選択するためにjqueryのを使用して、それを修正した

+0

ジャッキーに感謝します。これは私がやったことですが、動作しません –

0

は、それが私のために正常に動作

$("#myForm").submit(); 

を提出します!

関連する問題