2016-06-09 81 views
1

這裏是我在laravel應用程序中的html表單,它有隱藏字段,這些隱藏值需要發送到角度js控制器。隱藏的表單字段不能在角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> 

我的角度控制器是如下

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

我只得到contentField的值在控制器,請幫我解決這個問題!

+0

我傾向於使用type =「hidden」和value =「..」來支持角度指令ng-hide =「true」和ng-model =「...」。設置值等於某些東西不會將其與角度模型綁定。另外,把你的評論變量放在$ scope中作爲$ scope.comment並直接綁定到它,就像ng-model =「comment.user_id」 – jbrown

+0

還有其他方法可以在不使用ng-model的情況下發送隱藏表單值嗎? –

回答

0

看來您在隱藏的導入中缺少ng-model標籤。由於角度不知道如何或在何處將隱藏的輸入值綁定到$scope。將這些標籤添加到所有隱藏的輸入應該可以解決在$scope上找不到它們的問題。

+0

我曾嘗試ng-model。沒有使用隱藏的領域,它工作正常但不使用隱藏的字段值不發送,這裏實際的問題是我必須發送隱藏的值使用窗體的角功能。 –

+0

如果您使用ng-hide而不是type =「hidden」,您將能夠根據需要與模型進行交互。 – jbrown

+0

現在它正在工作,但是當使用回調方法推送值時,只有註釋被推送到數組。我需要將userName和userImage推送到數組我怎樣才能推他們呢。任何想法 ? –