У меня есть форма с двумя типами ввода отправки. В зависимости от того, какая отправка нажата, я хочу сохранить форму как черновую или правильную.
Я думал о добавлении значения / свойства к входным данным отправки, возможно, атрибуту ng-model.
<form ng-submit="submitNew()">
<div>
Text:
<input type="text" ng-model="myForm.text" />
</div>
<div>
<input type="submit" name="correct" value="Add new" />
</div>
<div>
<input type="submit" name="draft" value="Save as draft" />
</div>
</div>
</form>
В контроллере я хотел бы добавить это как логическое значение (" myForm.isDraft ") к данным, отправленным методом POST:
myApp.controller('myAppController', ['$scope','$http','$log',
function($scope, $http, $log) {
$scope.submitNew = function() {
$http({
method: 'POST',
url: '/app/submit',
data: {
text: $scope.myForm.text,
isDraft: $scope.myForm.isDraft,
}
})
};
}
]);
Как это работает с входами типа отправки?
Редактировать - шаг вперед:
После изменения отправляется на:
<div>
<input type="submit" ng-click="isDraft = false" value="Add new" />
</div>
<div>
<input type="submit" ng-click="isDraft = true" value="Save as draft" />
</div>
и добавляется журнал внутри $scope.submitNew = function()
Я вижу, что $ scope.isDraft имеет значение true или false в зависимости от того, какая кнопка нажата. Однако в данных, отправляемых на сервер, он всегда ложен.
Контроллер сейчас:
$scope.submitNew = function() {
$log.info("Log: isDraft: " + $scope.isDraft);
$http({
method: 'POST',
url: '/app/submit',
data: {
text: $scope.myForm.text,
isDraft: $scope.myForm.isDraft = $scope.isDraft,
}
})
};
Если я изменю isDraft: $scope.myForm.isDraft = $scope.isDraft
на isDraft = $scope.isDraft
, он все равно не будет работать должным образом.