【发布时间】:2014-10-09 13:36:30
【问题描述】:
如果在路由中指定了搜索词,我想在页面加载时提交搜索表单。问题是searchForm 在search() 运行时尚未定义。我已经看到其他人通过将 ng-controller 放在表单元素上来实现此功能,但我在此页面上有多个表单,因此控制器必须是表单的父级。
如何确保在调用 search() 时定义了表单?
myModule.controller('MyController', ['$scope', '$routeParams',
function($scope, $routeParams){
$scope.model = {searchTerms: ""};
$scope.search = function(){
if($scope.searchForm.$valid){
...
}
};
if($routeParams.terms !=""){
$scope.model.searchTerms = $routeParams.terms;
$scope.search();
}
}]);
查看:
<div ng-controller="MyController">
<form name="searchForm" ng-submit="search()">
...
</form>
<form name="detailForm" ng-submit="save()">
...
</form>
</div>
【问题讨论】:
标签: javascript angularjs forms angularjs-scope onload