点击后我的表单不会重置,我做得对吗?
我可以提交很好,但表单不会重置,这是我的日志:
angular.js:12701 POST Punic 500(内部 服务器错误)
但我的帖子提交的很好,它只是没有重置。
的jsfiddle
http://127.0.0.1:8000/auth/post
main.js
var app = angular.module('eli', [], function($interpolateProvider) {
$interpolateProvider.startSymbol('<%');
$interpolateProvider.endSymbol('%>');
});
app.controller('mainCtrl', ['$scope', '$http', function($scope, $http){
$scope.posts = {};
$scope.addPost = function(){
$http.post('/auth/post', {
title: $scope.post.title,
body: $scope.post.body
}).then(function(data, status, headers, config){
$scope.posts.push(data);
$scope.postform = "";
});
};
}]);
HTML
<form name="postform" method="POST" novalidate>
{{ csrf_field() }}
<div class="form-group">
<label for="post.title">Title</label>
<input ng-model="post.title" class="form-control" type="text" name="title" placeholder="Enter a title" required/>
</div>
<div class="form-group">
<label for="post.title">Post</label>
<textarea ng-model="post.body" type="text" class="form-control" name="body" id="" cols="10" rows="5"></textarea>
</div>
<button id="eli-style-button" ng-click="addPost()" class="btn btn-primary" type="submit">Submit</button>
</form>
答案 0 :(得分:3)
可以做这样的事情
$scope.addPost = function({
$http.post('/auth/post', {
title: $scope.post.title,
body: $scope.post.body
}).then(function(data, status, headers, config) {
$scope.posts.push(data);
$scope.post.title = "";
$scope.post.body = "";
});
};
答案 1 :(得分:0)
通过这样做解决了这个问题,仍然在范围函数内,但在http帖子之外。
var app = angular.module('eli', [], function($interpolateProvider) {
$interpolateProvider.startSymbol('<%');
$interpolateProvider.endSymbol('%>');
});
app.controller('mainCtrl', ['$scope', '$http', function($scope, $http){
$scope.posts = {};
$scope.addPost = function(){
$http.post('/auth/post', {
title: $scope.post.title,
body: $scope.post.body
}).then(function(data, status, headers, config){
$scope.posts.push(data);
});
$scope.post.title = '';
$scope.post.body = '';
};
}]);