#javascript #angularjs #angularjs-directive #angular-ngmodel
#javascript #angularjs #angularjs-директива #angular-ngmodel
Вопрос:
у меня есть страница с формой, которая работает как поиск по фильтру, и одним из полей является поле даты.
Я настроил дату пользовательского интерфейса angular (https://github.com/angular-ui/ui-date ) и календарь работает, когда я фокусирую поле даты.
Проблема в том:
Когда я пытаюсь отправить форму, значение поля даты не передается контроллеру через ng-model, но другие поля работают. Если я удалю ui-date из ввода, тоже работает.
Что я делаю не так?
МОЙ HTML
<form novalidate name="filterForm" ng-submit="submitFiltro()">
<label class="painel-datas-text" for="field-5">Product</label>
<input class="painel-data-select w-input" id="field-5" maxlength="256" ng-model="filtro.produto" name="produto" placeholder="NET / CLARO" required="required" type="text">
<label class="painel-datas-text" for="field">Date</label>
<input ui-date class="painel-data-select w-input" id="field" maxlength="256" ng-model="filtro.de" name="date" placeholder="01/02/2016" required="required" type="text">
<label class="painel-datas-text" for="field-2">seller</label>
<input class="painel-data-select w-input" id="field-2" maxlength="256" ng-model="filtro.vendedor" name="vendedor" placeholder="TODOS" required="required" type="text">
<input class="painel-button w-button" type="submit" value="FILTRAR">
МОЙ JS:
var app = angular.module('painelvendas', ['ui.date']);
app.controller('painelController', function($scope, $http) {
$scope.submitFiltro = function(){
console.log($scope.filtro);
};
});
Ответ №1:
Из того, что я видел из документации, вы не должны устанавливать тип ввода, в котором вы собираетесь использовать директиву.