【发布时间】:2015-11-19 12:52:29
【问题描述】:
在 AngularJS 中从表单中提取值似乎不起作用 - 例如我的表单代码是:
<form ng-submit="newCompany()">
<div class="form-group">
<label>Name</label><input type="text" name="company_name" id="company_name" tabindex="2" ng-model="newCompany.company_name" class="form-control">
<label>Primary Contact</label><input type="text" name="primary_contact" id="primary_contact" tabindex="2" ng-model="newCompany.primary_contact" class="form-control">
<label>Address</label><input type="text" name="address" id="address" tabindex="2" ng-model="newCompany.address" class="form-control">
<label>Function</label><input type="text" name="function" id="function" tabindex="2" ng-model="newCompany.function" class="form-control">
<label>Telephone</label><input type="text" name="telephone" id="telephone" tabindex="2" ng-model="newCompany.phone" class="form-control">
<label>Fax</label><input type="text" name="fax" id="fax" tabindex="2" ng-model="newCompany.fax" class="form-control">
<label>URL</label></label><input type="text" name="url" id="url" tabindex="2" ng-model="newCompany.url" class="form-control">
</div>
<div class="form-group">
<div class="row">
<div class="col-sm-6 col-sm-offset-3">
<input type="submit" name="add-submit" id="add-submit" tabindex="10" class="form-control btn btn-primary" value="Add Company">
<br>
<div class="text-center">
<p ng-show="addCompany"><span class="label label-info">{{ addCompany }}</span></p>
</div>
</div>
</div>
</div>
</form>
但在控制器中,执行 newCompany.name 或 $scope.newCompany.name 不起作用。它什么也不返回,并说 newCompany 是未定义的。
控制器:
app.controller("CompaniesController", ['$scope', 'Companies', function($scope, Companies) {
$scope.title = 'Companies';
$scope.title_sub = 'Add Company';
$scope.companyData = {
company_name: newCompany.company_name,
primary_contact: newCompany.primary_contact,
address: newCompany.address,
function: newCompany.function,
telephone: newCompany.phone,
fax: newCompany.fax,
url: newCompany.url
};
$scope.addCompany = function() {
var company = new Companies($scope.companyData);
company.$save();
};
$scope.companies = Companies.query();
}]);
任何人都可以看到哪里出了问题或如何让它工作吗?
【问题讨论】:
-
你说,提交表单时调用函数
newCompany()。我没有看到那个功能。 -
您尝试调用未定义的
newCompany()。你的模型是newCompany...那么它是对象还是函数?您也尝试使用ng-show="addCompany",但addCompany是一个函数。也许你应该再重新阅读和调试你的代码...... -
stackoverflow.com/questions/33802005/… 又是你。尝试完成我在那里建议的所有步骤,然后如果仍然无法在此处发布。
标签: javascript angularjs