Я делаю вызов $http.post
, но мои скрытые поля не отправляются с формой.
Код:
<sf:form ng-submit="post(form)" id="respond" >
<input type="hidden"name="form.replyTo" ng-model="replyTo" ng-value="1">
<input type="hidden" name="form.id" ng-model="id" ng-value="33" >
<input class="diskafield" type="text" ng-model="form.name" >
<input class="diskafield" type="text" ng-model="form.email" >
<textarea class="diskafield" name="comments" ng-model="form.body" required=""></textarea>
<input class="diskabtn" type="button" ng-click="post(form)" value="Post Comment">
</div>
</sf:form>
и мой контроллер:
app.controller('AddCommentController', function ($scope, $http) {
$scope.name="";
$scope.email="";
$scope.body="";
$scope.id = "";
$scope.replyTo = '';
$scope.post= function(form) {
$http.post('http://localhost:8080/add', form).success(function(response){
}).error(function(response){
console.log(response);
})
}
});
ваш объект form
публикации так, если вам нужно прикрепить скрытые свойства к этому объекту form
,
<input type="hidden"name="form.replyTo" ng-model="form.replyTo" ng-value="1">
<input type="hidden" name="form.id" ng-model="form.id" ng-value="33" >
вам нужно изменить модель на form.replyTo
и form.id
как указано выше.
и кажется, что вы пропустите, используйте ng-model
и name
,
например:
вы $scope.name
и вы используете его в форме как имя элемента.
что нет способа использовать его, здесь нет никакой связи между переменными области видимости и именами ввода.
которые должны относиться к ng-model
.
так должен выглядеть чистый пример.
$scope.form = {
name : "",
email : "",
body : "",
id : 33,
replyTo : 1
};
$scope.post= function(form) {
$http.post('http://localhost:8080/add', form).success(function(response){
}).error(function(response){
console.log(response);
})
}
<sf:form ng-submit="post(form)" id="respond" >
<input type="hidden"name="form.replyTo" ng-model="form.replyTo">
<input type="hidden" name="form.id" ng-model="form.id" >
<input class="diskafield" type="text" ng-model="form.name" >
<input class="diskafield" type="text" ng-model="form.email" >
<textarea class="diskafield" name="comments" ng-model="form.body" required=""></textarea>
<input class="diskabtn" type="button" ng-click="post(form)" value="Post Comment">
</div>
</sf:form>
на самом деле вы можете удалить два скрытых поля, поскольку данные скрытого поля существуют в объекте $scope.form
.
здесь работает DEMO