隐藏的形式字段在Angular Js中不起作用

时间:2016-06-09 19:59:32

标签: angularjs laravel angularjs-scope hidden-field

这是我在laravel应用程序中的html表单,它有隐藏的字段,这些隐藏的值需要发送到角度js控制器。

<form accept-charset="UTF-8" enctype="multipart/form-data">
    <input name="_token" type="hidden"  value="{{ csrf_token() }}">
    <input name="user_id" type="hidden"  value="{{ Auth::user()->id }}">
    <input name="post_id"  type="hidden" value="<% post.id %>" >
    <input name="published_at" type="hidden" value="{{ Carbon\Carbon::today()->format('Y-m-d') }}">
    <input class="form-control" placeholder="comment"  ng-model="contentField" type="text" >
    <button type="submit" ng-click="addComment()">comment</button>
</form>

My Angular Controller如下

 $scope.addComment = function(){
     var comment = {
       user_id: $scope.user_id,
       content: $scope.contentField,
       post_id: $scope.post_id,
       published_at: $scope.published_at
 };

我只是在控制器中获取contentField的值,请帮我解决这个问题!

2 个答案:

答案 0 :(得分:0)

您似乎错过了隐藏导入的ng-model标记。因为该角度不知道如何或在何处将隐藏的输入值绑定到$scope。将这些标记添加到所有隐藏的输入应该可以解决您在$scope上找不到的问题。

答案 1 :(得分:0)

我们可以这样简单地尝试:

<input type="hidden" ng-model="post_id" ng-init="post_id=<% post.id %>"/>

OR

<input type="hidden" ng-model="post_id" value="{{post_id}}" ng-init="post_id=<% post.id %>"/>

OR

<input type="hidden" ng-model="post_id" value="<% post.id %>" ng-init="post_id=<% post.id %>"/>

注意:这里ng-init进行的是技巧绑定,它是来自其他模型或对象或直接值的任何东西:)