Ok, поэтому я создаю форму так:.AngularJS и гнездовые формы: Правильный способ именования и объявления модели
<form novalidate class="simple-form" action="" name="mainForm" ng-submit="doSubmit()" method="POST">
<div ng-form name="giftForm" class="panel-body">
<input type="text"
id="x_amount"
name="x_amount"
class="form-control input-lg"
ng-model="giftForm.amount"
ng-required="true">
</div>
<div class="row">
<button type="submit" class="btn" ng-disabled="mainForm.$invalid">Submit</button>
</div>
</form>
Это работает для проверки, то есть, что MainForm $ недействительные только основные моменты включает кнопку после того, как вход имеет текст. Однако, используя Batarang, я заметил, что сфера выглядит так:
{"giftForm":{"x_amount":{},"amount":"a"}}
Так что создает ценность модели на основе имени и заявленные нг-модели. Если изменить их быть такими же, как и так:
<input type="text"
id="x_amount"
name="x_amount"
class="form-control input-lg"
ng-model="giftForm.x_amount"
ng-required="true">
Передать показывает правильную сферу:
{"giftForm":{"x_amount":"a"}}
Но поле ввода изначально показывает с [объект Object] на входе, что делает я думаю, что я что-то путаю здесь ... Я не могу иметь этого во всех полях ввода.
Я хотел бы, чтобы имя и модель были одинаковыми. Это, казалось бы, прогрессивный способ улучшения и позволит нормальный без АЯКС пост, просто удалив метод нг-представить и Аякса путь будет выглядеть так:
$http({
method : 'POST',
url : 'formAction.do',
data : $.param(angular.toJson($scope.mainForm)),
headers : { 'Content-Type': 'application/x-www-form-urlencoded' }
})
.success(function(data) {
//success
})
.error(function(data, status, headers, config) {
//error
});
Кто-нибудь имеет понимание того, что мне не хватает или если моя архитектура ошибочна с нуля, я был бы признателен за мудрость ....
Хорошо, это меняет его, и теперь я вижу немного больше того, что происходит, теперь, глядя на объекты, giftForm меняет с простой модели на то, что выглядит как formController. – jessehensold
Итак, я не понял, как вы их объявляете, но теперь это возвращает первоначальную проблему, что лучший способ найти все данные подформ для ajax submit? Нет ничего особенного в том, что объекты модели, созданные в областях, есть? Поскольку прямо сейчас выполнение углового.toJson на объекте mainForm будет возвращать больше, чем только входные данные ... Я открою новый вопрос. – jessehensold
На самом деле я думаю, что исходный '$ scope.giftForm' перезаписывается' FormController', а затем, когда '' обновляет свою модель, 'FormController' получает другое значение. Это смесь, просто дайте им разные имена или возникнут проблемы. –