У меня есть 2 контроллера: btnController и formController. Я пытаюсь отправить форму из другого действия контроллера. Проблема в том, что функция в контроллере должна вызываться только тогда, когда проверка формы действительна. Прямо сейчас, если пользователь пытается отправить форму без записи, вызывается функция submit.Форма проверки с другого контроллера в angularjs
Как я могу это исправить?
Мой код
<div ng-app='app'>
<div class='header' ng-controller='btnController'>
<button ng-click='submit()'>
Submit Form
</button>
</div>
<div class='container' ng-controller='formController'>
<h2>Form</h2>
<form id='myform'>
<input ng-model='name' placeholder='name' required/>
<span style="color:red" ng-show="myform.name.$dirty && myForm.name.$invalid">
<span ng-show="myform.name.$error.required">Username is required.</span>
</span>
</form>
</div>
</div>
(function(){
var app=angular.module('app',[]);
app.controller('btnController',function($scope){
$scope.submit=function(){
angular.element(document.getElementById('myform')).scope().submit();
}
});
app.controller('formController',function($scope){
scope.name;
$scope.submit=function(){
alert($scope.name);
}
});
})();
Вот пример JsFiddle
, что это не моя проблема. посмотрите на пример jsfiddle – Ajith
, запрос отправки был от другого контроллера, а не в форме. – Ajith
Итак, вы хотите, чтобы функция submit() в вашей формеController ТОЛЬКО вызывалась, когда форма действительна, правильно? –