Скажем, у меня есть поле <input>
с атрибутом type='date'
. Когда он нетронутый, он отображает дату как mm/dd/yyyy. Есть ли способ, используя директиву AngularJS ng-blur, чтобы очистить поле до этого состояния, когда пользователь вводит ввод, скажем, 03/21/2016, удаляет одно из полей (например, 03/dd/2016), а затем щелкает за пределы (размывает) поле?Как очистить недействительное поле даты при размытии? (AngularJS)
ответ
нг размытости,
В вашем HTML
<input type="date" ng-model="date" ng-blur="blured()" />
В контроллере
$scope.blured = function()
{
// check the date
// if invalid
$scope.date = null;
}
Смотри также:
Это не имеет желаемого эффекта, потому что, хотя для модели установлено значение null, в поле ввода по-прежнему отображается неверная дата (например, 02/мм/2017). Мне нужен способ очистить представление, а также модель. И в случае, если вы собираетесь спросить, значение $ viewValue на недопустимом входе уже установлено в пустую строку, поэтому манипулирование этим не делает ничего. – pv93
- [это] (http://jsfiddle.net/nzPJD/252/) желаемый эффект? –
В вашем HTML
<input type="date" ng-model="date" ng-blur="blured(date,$event)" />
В вашем JS
$scope.blured= function (inputdate, e) {
if (!e.ctrlKey && !e.metaKey && (e.keyCode == 32 || e.keyCode > 46))
doFormat(e.target);
if (e.target.value.length == 10) {
$scope.IsValidDate(1, e.target.value);
}
}
//id is used to check which date control
//method is used to validate entered date in MM/dd/yyyy format
$scope.IsValidDate = function (id, dateValue) {
var formats = ['MM/DD/YYYY']
if (!moment(dateValue, formats).isValid()) {
if (id == 1) {
$scope.date = null;
}
}
}
Надежда эта работа для вас, он работал на меня.
- 1. Алгоритм спрятать поле при размытии
- 2. DateTimePicker Bootstrap скрывает поле ввода при размытии
- 3. Скрыть клавиатуру при размытии
- 4. AngularJS - Невозможно очистить поле ввода
- 5. Как очистить/сбросить поле даты при использовании jquery datepicker
- 6. Как очистить поле ввода в AngularJs?
- 7. Как очистить поле JXDatePicker
- 8. AngularJS: Форма просмотра для изменения ввода при размытии
- 9. Вход Jquery выбирается при размытии
- 10. текстовое поле на фокусе и на размытии
- 11. Очистка поля ввода при размытии
- 12. Очистить излишние слова в поле даты
- 13. Очистить поле ввода с помощью angularjs
- 14. Smart-Table можно фильтровать при размытии
- 15. Очистить текстовое поле при сфокусированном
- 16. Как убрать ng-сообщения при размытии?
- 17. (Директива AngularJS) Изменение значения модели при размытии ввода
- 18. Как очистить выбранное поле ввода с помощью Angularjs?
- 19. JQuery возвращает исходное значение при размытии, если поле осталось пустым
- 20. Jeditable - Maxlength на поле ввода и мерцание при размытии
- 21. ExtJS - поле тега игнорирование forceSelection flag при вводе/размытии
- 22. Как очистить текстовое поле при нажатии кнопки
- 23. как очистить текстовое поле при первом открытии
- 24. Как очистить текстовое поле в angularJS, при нажатии любой ссылки на странице AngularJS
- 25. Угловое скрытие элемента при размытии
- 26. Событие изменения ввода при размытии
- 27. Как работать с определенным элементом при размытии?
- 28. CKEditor: Как уничтожить экземпляр при размытии?
- 29. Как очистить файловое поле?
- 30. Как очистить поле TDBImage?
Установить переменную области видимости 'ng-model' связывается с новой' Date() '? –
Новый объект даты имеет значение текущей даты – pv93
Как ни странно, вам, похоже, придется сбросить его с помощью встроенного JS или jQuery: '$ (" input "). Val (null);' - см. Здесь: https://jsbin.com/bivuqitefi/1/edit?html,js,output –