我在模态中创建了一个表单,允许某人输入计划详细信息。然后我在ng-model属性中创建了范围表单,如下所示......
<form>
<div class="form-group">
<label>{{plans.title}}</label>
<input type="text" name="title" ng-model="plans.title" class="form-control" placeholder="Enter Title" required />
</div>
<div class="form-group">
<label>{{plans.overview}}</label>
<textarea name="overview" ng-model="plans.overview" class="form-control" placeholder="Overview/Purpose" required />
</div>
<div class="form-group">
<label>{{plans.notes}}</label>
<textarea name="notes" ng-model="plans.notes" class="form-control" placeholder="Plan Notes" required />
</div>
<div class="form-group">
<label>{{plans.visualplan}}</label>
<div class="button" ngf-select ng-model="plans.visualplan" name="visualplan" ngf-pattern="'image/*'" ngf-accept="'image/*'" ngf-max-size="20MB" ngf-min-height="100" >Upload Visual Plan</div>
</div>
<div class="form-group">
<button type="submit" ng-click="submit()" Value="Post">Post</button>
</div>
</form>
在我的代码中,我试图将表单中的数据拉到我的范围对象中,用于标题,概述,注释和visualplan下的计划。然后我编写了这个来将表单中的数据上传到我的firebase json中。但是在提交详细信息时,上传到json进程可以正常工作,但它正在上传我在dailyplans.js文件中初始设置的title,overview,notes和visualplan的默认值。我要上传的是我通过ng-model而不是初始设置值附加的详细信息。谁能发现我做错了什么?
以下是我的js文件。
$scope.submit = function() {
$scope.plans = {
title: 'title',
overview: 'overview',
notes: 'notes',
visualplan: 'visual plan'
}
if (authData) {
ref.child('teaching-plans').child('teaching-plans' + authData.uid).set($scope.plans).then(function(authdata) {
console.log('successful');
}).catch(function(error) {
console.log(error);
});
}
}
答案 0 :(得分:1)
当用户点击提交时,您正在重置计划对象。理想情况下,它应该在web/templates/order/show.html.eex:59
方法之外。
这就是你应该这样做的方式
<%= if @order do %> #or whichever value is nil
your code here
<% end %>
并将html更新为
submit
希望这有帮助。
答案 1 :(得分:0)
请勿覆盖您的plans
对象:
$scope.submit = function() {
$scope.plans.title = 'title';
$scope.plans.overview = 'overview';
$scope.plans.notes = 'notes';
$scope.plans.visualplan = 'visual plan;
if (authData) {
ref.child('teaching-plans').child('teaching-plans' + authData.uid).set($scope.plans).then(function(authdata) {
console.log('successful');
}).catch(function(error) {
console.log(error);
});
}
}
这样,angular可以正确激发听众。