Подтвердить что ты не робот

Kendo UI Datepicker отключает ввод текста

Я хочу, чтобы пользователи могли изменять значение Datepicker пользовательского интерфейса Kendo только через свою кнопку и выбирать дату из всплывающего окна. Как я могу запретить пользователям вводить текстовое поле Datepicker? Могу ли я отключить текстовое поле, не отключая весь элемент управления?

4b9b3361

Ответ 1

В элементе ввода добавьте этот атрибут и значение...

onkeydown="return false;"

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

Ответ 2

Используйте элемент управления, как показано ниже -

@(Html.Kendo().DatePicker()
.Name("FromDate")
.HtmlAttributes(onkeydown="javascript:return false;" })
      )

Отключит клавиатуру. Точно так же можно обрабатывать и другие условия.

Ответ 3

Найдите свой элемент ввода и отключите его

$('#datepicker').attr('disabled','disabled');

(попробовал его на демо-сайте кендо http://demos.kendoui.com/web/datepicker/index.html)

Ответ 4

вы можете сделать это двумя способами.

  //disable kendo ui  datapicker click event
    $(".k-datepicker input").bind('click dblclick',function () {
         return false;
    });

    //make it readonly
   $(".k-datepicker input").prop("readonly", true);

Ответ 5

Если вы хотите, чтобы пользователь не вводил дату в списке выбора даты и не выбирал только дату из всплывающего окна, попробуйте этот код

$(".k-datepicker").find('span').find('input').attr("readonly", "readonly");

Ответ 6

Конечно, виджет выбора даты и времени должен иметь возможность принудительно вводить ввод только с пользовательским интерфейсом, а не с клавиатуры... В противном случае это рецепт реального котирования DateTime! Я очень удивлен тем, что структура не обеспечивает ничего для этого очевидного варианта использования.

У меня была такая же потребность, и я получил ее для работы, используя следующую логику:

$("#date").kendoDatePicker({
    format: "dd MMMM yyyy"
});
$("#date").attr("readonly","readonly");

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

Ответ 7

Действительно, виджет не ограничивает пользователя во время ввода ввода. Причина такого поведения объясняется здесь: Почему виджет не ограничивает ввод текста

Наряду со всеми другими решениями, совместно используемыми в этом потоке, можно создать настраиваемый Masked DatePicker, который ограничит пользователя конкретным форматом даты. Для получения более подробной информации ознакомьтесь с этой практической демонстрацией:

Создать маска даты

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

Ответ 8

Используйте этот атрибут в текстовом поле вашей даты - onkeydown = "return false"

Ответ 9

Ответ Джастина работает, но он не препятствует тому, чтобы щелчок правой кнопкой мыши вставил неправильное значение. Вы можете использовать oncontextmenu чтобы предотвратить щелчок правой кнопкой мыши

oncontextmenu="return false;"

Это также предотвратит копирование числа в календаре.

Ответ 10

.HtmlAttributes(new { onkeydown="return false" })