使用AngularJs无法获得textarea值

时间:2014-04-25 13:33:09

标签: javascript angularjs angularjs-directive angularjs-scope

<tr class="labels">
    <td nowrap="nowrap">Address</td>
    <td nowrap="nowrap"><label for="tbAddress"></label>
        <textarea name="tbAddress" id="tbAddress" cols="39" rows="5" ng-model="$parent.tbAddress"></textarea>

    </td>

</tr>
<tr>
    <td>&nbsp;</td>
    <td align="right">
        <input type="submit" name="button" id="button" value="Submit Record" class="btns" />
        <input type="reset" name="button2" id="button2" value="Cancel" class="btns" />
    </td>
</tr>

我无法使用AngularJS获得textarea值。除input之外,所有textarea文本字段都通过控制器。我做错了什么?

alert($scope.tbAddress);
var thisData = {
    'name': $scope.tbFN,
    'company': $scope.tbCompany,
    'designation': $scope.tbDesignation,
    'email': $scope.tbEmail,
    'phone': $scope.tbPhone,
    'mobile': $scope.tbMobile,
    'address': $scope.tbAddress
};

警报未定义......

1 个答案:

答案 0 :(得分:6)

如果您alert($scope.tbAddress);位于那里,当然它最终会以undefined结束。此时尚未为$scope.tbaddress分配任何内容。 (但也许你之前已经定义了它,但它没有在代码中显示)。

我实际上没有问题让它发挥作用。我将警报包含在绑定到提交按钮的函数中。我能够获得价值。 See my example

我也冒昧地改变了你的$scope。我们建议每个ngModel都有一个.名称。所以而不是tbAddress它应该是tb.address。它与角度继承的处理方式有关。

参考: