我有一个使用AngularJS的rails应用程序,我有一个表单的问题,问题是我想使用复选框发送值true或false,但它只发送true,如果它被选中如果在此之后选中并取消选中,则为false,但如果用户未触摸复选框,则不会将其作为参数发送。复选框不发送错误的值
<div class="checkbox">
<label>
<input type="checkbox" ng-model="car"> Do you have a car?
</label>
</div>
如果用户没有检查过它,我该怎么做才能使它发送错误?
编辑:整个形式是这样的,顺便说一句,它是关于建立一个民意调查的形式,对汽车用品只是一个例子...
<h1>Create Poll</h1>
<form ng-submit="addPoll()" style="margin-top:30px;">
<div class="form-group">
<label>Title</label>
<input type="text" class="form-control" ng-model="title"></input>
</div>
<div class="form-group">
<label>Description</label>
<textarea type="text" class="form-control" ng-model="description"></textarea>
</div>
<br>
<div class="checkbox">
<label>
<input type="checkbox" ng-model="allow_anonymous_answer" ng-false-value="false"> Allow anonymous answers
</label>
</div>
<br>
<div class="form-group">
<label>Welcome message</label>
<textarea type="text" class="form-control" ng-model="initial_message"></textarea>
</div>
<div class="form-group">
<label>Outgoing Message</label>
<textarea type="text" class="form-control" ng-model="final_message"></textarea>
</div>
<button type="submit" class="btn btn-primary" style="float: right;">Continue</button>
</form>
当你打我继续做与Restangular HTTP POST请求创建一个民意调查,但问题是,当我不碰的复选框,这是我的日志的Rails中看到...
Started POST "/polls.json" for 127.0.0.1 at 2016-01-26 14:05:57 -0300
Processing by PollsController#create as JSON
Parameters: {"title"=>"asddddddddddddddda", "description"=>"aaaaaaaaaaaaaaaaaaaaa", "initial_message"=>"asdasdddddddddd", "final_message"=>"aaaaaaaaaaaaaaaaaaad", "poll"=>{"title"=>"asddddddddddddddda", "description"=>"aaaaaaaaaaaaaaaaaaaaa", "initial_message"=>"asdasdddddddddd", "final_message"=>"aaaaaaaaaaaaaaaaaaad"}}
不e参数allow_anonymous_answer甚至没有出现,如果我检查复选框,然后我可以看到该参数设置为true,如果我检查它然后取消选中它,那么它被设置为false,但问题是当用户甚至不碰这个,当这种情况发生,则参数甚至没有显示...
就在你想看到的情况下,这是AngularJS的控制器......
angular.module('myapp').controller('CreatePollCtrl', ['$scope', 'Restangular',
function($scope, Restangular) {
Restangular.setFullResponse(true);
$scope.addPoll = function() {
var poll = {title: $scope.title, description: $scope.description, allow_anonymous_answer: $scope.allow_anonymous_answer, initial_message: $scope.initial_message, final_message: $scope.final_message};
Restangular.all('polls').post(poll).then(function(response) {
});
};
}]);
你用阿贾克斯?你可以添加整个表单吗? – Vanojx1
你能提供一个小提琴吗? – eslotwinski
我没有使用ajax,只是角度,我会用整个表单更新帖子。 – OiciTrap