2009-11-05 3 views
4

У меня есть текстовое поле для даты. Теперь я хотел бы скрыть это текстовое поле, чтобы пользователь мог ввести только значение даты. Я даже нашел для этого jQuery plugin. Но это, похоже, не помогает, так как вы можете ввести 22/22/2222 в поле, которое тоже принимается этим плагином, что, очевидно, не является допустимой датой. Какое возможное решение?Как мы можем ввести маску в текстовое поле, используя javascript/jQuery?

+0

Посмотрите на это: http://stackoverflow.com/questions/5482064/can-i-create-date-entry-control -with-date-separator-for-classic-asp/5490237 # 5490237 – Kangkan

ответ

1

Вы можете установить ввод только для чтения и поместить div вокруг него, который имеет набор onclick для вызова календаря.

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

+0

@James: хороший ответ, но явно неприемлемый. Я хочу замаскировать поле. я не хочу, чтобы пользователь перемещался по календарю, чтобы выбрать, что он может писать легко. Infact я могу оставить план маскировки ввода, но не могу запретить пользователю вводить вручную. –

+1

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

2

попробовать работать с этой http://digitalbush.com/projects/masked-input-plugin

, если это не сработает, попробуйте адаптируя из этого кода, изменение ти работать для месяцев:

function isZipKey(evt) { 
    var charCode = (evt.which) ? evt.which : event.keyCode 
    if (charCode > 31 && ((charCode < 48 || charCode > 57) && charCode != 45)) 
     return false; 

    return true; 
    } 

    onkeypress="return isZipKey(this);" 
0

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

Смежные вопросы