以角度undefined接收数据形式的html

时间:2017-08-25 15:09:34

标签: javascript html angularjs datepicker

我有一个简单的表单来添加数据,但是我输入的日期有问题或者添加或选择日期但是日期总是未定义,但我重新加载页面和工作,老实说这是对我来说最奇怪的事情。选择日期我使用bootstrap-datepicker

<link rel="stylesheet" href="../../../assets/bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css">
<script src="../../../assets/bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js"></script>
<script src="../../../assets/bootstrap-datepicker/dist/locales/bootstrap-datepicker.es.min.js"></script>

<div class="form-group">
    <label class="col-sm-1 control-label">
        Fecha Control:
    </label>
    <div class="col-sm-4">
        <input class="form-control" type="text" placeholder="DD/MM/YYYY" id="date_food" name="date_food" ng-model="date_food">
    </div>
    <script type="text/javascript">
        $(function() {
            $('#date_food').datepicker({
                format: 'dd/mm/yyyy',
                language: "es",
                todayHighlight: true,
                autoclose: true
            });
        });
    </script>
</div>

添加按钮

<button ng-click="addExtraDining()" class="btn btn-lg btn-primary">
    Agregar comida extra
</button>

和功能

$scope.addExtraDining = function () {
            console.log(document.getElementsByName("date_food").value); //undefined
            console.log($scope.date_food); //undefined
}

1 个答案:

答案 0 :(得分:0)

getElementsByName()给出了一个nodelist集合。因此,您需要传递索引以获取像这样的元素

document.getElementsByName("date_food")[0].value

由于date_food是dom元素的ID,因此您可以使用document.getElementById('date_food')

您可以注意两个文字getElementsByName&amp; getElementById。在一次的情况下,它是元素,在其他情况下它是元素