У меня есть форма angularjs, которую я пытаюсь отправить.Переменные области действия имеют каждую форму переменных ng-модели с точкой, например ng-model="post.title", ng-model="post.pid".
Проблема, с которой я сталкиваюсь, заключается в том, что post.pid и post.title продолжает предупреждать значения undefined всякий раз, когда нажимается кнопка отправки ..
Я прочесал стекозахват для решения и обнаружил, что эти две ссылки
Атрибут формы области AngularJS $ не определен после ng-submit
область видимости с точкой (.) Не инициализирует значения для полей ввода в угловых значениях
и их ответы заключались в том, что я должен сначала инициализировать $scope.post
поэтому я реализовал его следующим образом, основываясь на решениях, предоставленных обеими ссылками.
$scope.post = {};
$scope.submitButton = function(){
alert($scope.post.pid);
alert($scope.post.title);
}
И все же он продолжает предупреждать Не определено каждый раз при нажатии кнопки отправки.
Ниже приведен весь код
<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<body ng-app="myApp" ng-controller="myCtrl">
<div ng-repeat="post in posts">
<form>
post Id<br>
<input type='text' ng-model="post.pid" >
<br> post Title<br>
<input type='text' ng-model="post.title" name="title">
<br>
<input type='button' id='but_save' value='Save' ng-click="submitButton()">
</form>
</div>
<script>
var app = angular.module("myApp", []);
app.controller("myCtrl", function($scope, $http, $parse) {
$scope.posts = [
{
"pid" : "1",
"title" : "title1"
},
{
"pid" : "2",
"title" : "title2"
},
{
"pid" : "3",
"title" : "title3"
},
]
$scope.post = {};
$scope.submitButton = function(){
alert($scope.post.pid);
alert($scope.post.title);
}
});
</script>
</body>
</html>