$ scope.form包含字段名称,但不包含值

时间:2014-06-19 22:56:38

标签: javascript html5 angularjs batarang

我无法通过$scope.form获取表单值。在视图和Batarang中,我看到表单对象具有所有字段的正确名称,但没有值。另一方面,实际表单字段中的值是正确的,$scope.mymodel.headline值也是正确的(参见下面的示例)。

为什么会发生这种情况?

随后是1个字段的样本。巴塔朗输出:

{ 
  mymodel:  { 
    headline: My value
  } 

  form:  { 
    mymodel[headline]:  {  } 
  } 
}

如果我在视图中输出{{form}},则显示:

mymodel[headline]:  {  } 

控制器代码非常简单:

@mymodelCtrl = ['$scope', ($scope) ->
  $scope.init = (mymodel) ->
    $scope.mymodel = mymodel
]

很简化的HTML:

<div id="new_mymodel" ng-controller="mymodelCtrl" 
  ng-init="init({'headline': 'my value'})" class="ng-scope">
  <form action="/myurl" id="new_mymodel" method="post" name="form" role="form">
    <input id="mymodel_headline" name="mymodel[headline]" 
      ng-model="mymodel.headline" ng-required="true" type="text">
    <input type="submit">
  </form>
</div>

更新:起初我认为接受的答案是错误的,但那是因为一个侧面问题。但它是正确的:问题是开发人员控制台和batarang和视图显示错误,而不是该字段是空的。我需要使用$scope.form["mymodel[headline]"].$formVaue

1 个答案:

答案 0 :(得分:1)

你可以从

获得它的价值
$scope.form['mymodel[headline]'].$modelValue

请参阅this