Datepicker: вернуться к последнему значению при неправильном вводе - PullRequest
1 голос
/ 23 мая 2011

Большинство проверочных плагинов просто показывают сообщение об ошибке. Однако я бы хотел (datepicker) вообще запретить ввод неправильных значений, автоматически возвращая к последнему правильному значению (не начальное значение при загрузке страницы, а последнее правильное значение).

Как это возможно?

Ответы [ 3 ]

1 голос
/ 23 мая 2011

Это может быть я, но я склонен считать, что это ужасный интерфейс: если я сделаю опечатку на дате или в любом другом поле, последнее, что мне нужно, - это перепечатать его с нуля.

В идеале пользовательский интерфейс не должен позволять вам вводить неправильную дату в первую очередь.

Если это позволяет вам сделать это, то я бы предпочел, чтобы поле выделилось само, переключив его цвет фона.на красный (возможно, с ненавязчивым сообщением об ошибке), чтобы я мог найти опечатку и исправить ее без необходимости повторного ввода.

1 голос
/ 07 сентября 2012

Я только что нашел параметр lastVal, который, кажется, то, что вы ищете. Попробуйте это (ответ на CoffeeScript, но его легко перевести на JavaScript):

$(".date1").datepicker.onClose = (dateText, inst) ->
    if selectedDateIsValid(dateText, inst)
        // Process new date
    else
        $(this).val(inst.lastVal)
        window.alert("The selected day is invalid: ", dateText)
0 голосов
/ 23 мая 2011

Пожалуйста, посмотрите этот ответ на вопрос о DatePicker для некоторой справочной информации.Таким образом, вы можете назначить DatePicker ответственным за преобразование ввода текста в объект датыВы можете сохранить предыдущее допустимое значение перед таким преобразованием и вернуться к нему в случае проблем с новым вводом, например:

// save current value
var currentDate = $('#dateInput').datetimepicker().val();
// transform current text input into date
$('#dateInput').datetimepicker('setDate', $('#dateInput').val());
// ...
// revert value in case you catch a problem with new date
$('#dateInput').datepicker().val(currentDate);
$('#dateInput').val($('#dateInput').datepicker().val());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...