2011-08-05 3 views
1

я следовал railscast 213 (calendars) from Ryan Batesчтения ввод текста на фокус rails3

Где он делает использование поля ввода текста на всплывающее окно выбора даты, это работает отлично. Я хочу дать ограничения на дату ввода, так дали следующие атрибуты:

$(function() { 
    $("#question_deadline").datepicker({ duration: 'fast', maxDate: '+2m', minDate: 'now' }); 
}); 

Теперь, когда я нажимаю в текстовое поле выбора даты выскакивает, но я все еще могу изменить дату, введя в текстовое поле ... Поэтому я подумал, что я поместил параметр readonly в true в файле _form.html.erb для этого конкретного поля, это работает, но дата не записывается в базу данных.

Итак я сделал это в файле application.js:

$(function() { 
      $("#question_deadline").datepicker({ duration: 'fast', maxDate: '+2m', minDate: 'now' }); 
    }); 

    $("#question_deadline").focus { 
     function() 
     $("#question_deadline").attr("readonly", true); 
    } 

    $("#question_deadline").blur { 
     function() 
     $("#question_deadline").removeAttr("readonly"); 
    } 

Но это препятствует выбора даты работать на всех?

Понял Allready:

$(function() { 
    $("#question_deadline").focus(function() { 
     $("#question_deadline").attr("readonly", true); 
    }); 
}); 

$(function() { 
    $("#question_deadline").blur(function() { 
     $("#question_deadline").removeAttr("readonly"); 
    }); 
}); 

С уважением, Тайс

+0

Итак, это была просто синтаксическая ошибка? – Arsen7

+0

Да ... это было! – Thijs

ответ

0

Я полагаю, вы можете перехватить "onChange" событие, и проверить значение в элементе управления. Принуждение клиентов клиентов всегда должно быть приветствуется всеми пользователями. Я лично часто предпочитаю вводить дату, а не выбирать ее.

Если вы подтвердите дату и значение окажется недействительным, вы можете принудительно вернуть пользователя и отобразить дату. Я смиренно считаю, что это будет более удобный подход.

+0

Спасибо, но я просто не могу понять, почему вся функция не работает, когда я, но дополнительные функции там ...? – Thijs

+0

Читать edit ... уже решена! :) – Thijs

+0

Я рад. В этом случае я смиренно считаю, что я не заслуживаю признака «принять», если только мой ответ действительно не был/был полезен для вас. :) – Arsen7

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