

как с помощью яваскрипта сделать предупреждение - СРАЗУ при выборе даты
#1
Отправлено 11 Март 2011 - 08:14
ситуация №1
если сотрудник выбирает дату меньшую сегодняшней - то у него СРАЗУ (до сохранения строки) появляется предупреждающее сообщение. (только сообщение, т.е. он может оставить эту дату).
ситуация №2
сотрудник заполняет текстовое поле и как только количество символов в нем станет больше 10 - он получает сообщение и не может ввести больше символов (кстати - если такой скрипт сделать - то для многих решиться вопрос с маской ввода)
#2
Отправлено 11 Март 2011 - 11:40
function onchange_{$one_field.id}() { field_value = document.getElementById('value{$one_field.id}').value; // далее сравниваем field_value (учтите что дата в нем в русском формате!) с текущей датой; как получить тек.дату в javascript смотрите в документации по javascript if (сравнение) alert("Дата меньше сегодняшней!"); } addHandler(document.getElementById('value{$one_field.id}'), 'onchange', onchange_{$one_field.id});ситуация №2
function onkeyup_{$one_field.id}() { field_value = document.getElementById('value{$one_field.id}').value; if (field_value.length > 10) { alert("Число символов превышает допустимое!"); document.getElementById('value{$one_field.id}').value = field_value.substr(0,10); } } addHandler(document.getElementById('value{$one_field.id}'), 'onkeyup', onkeyup_{$one_field.id});
#3
Отправлено 11 Март 2011 - 17:46
#4
Отправлено 13 Август 2011 - 00:39
посмотрите, пожалуйста, этот код:
function onkeyup_{$one_field.id}() { field_value = document.getElementById('value{$one_field.id}').value; if (field_value.value ==" ") { alert("Введите e-mail адрес вместо пробелов!") return false } } addHandler(document.getElementById('value{$one_field.id}'), 'onkeyup', onkeyup_{$one_field.id});
почему-то не срабатывает.
#5
Отправлено 13 Август 2011 - 12:08
#6
Отправлено 13 Август 2011 - 21:23
Разработчик (13.8.2011, 12:08) писал:
такой вариант тоже не работает:
function onkeyup_{$one_field.id} ()
{
field_value = document.getElementById('value{$one_field.id}').value;
if (field_value.value ==" ")
{
alert("Введите e-mail адрес вместо пробелов!");
return false;
}
}
addHandler(document.getElementById('value{$one_field.id}'), 'onkeyup', onkeyup_{$one_field.id});
#7
Отправлено 15 Август 2011 - 09:32
field_value = document.getElementById('value{$one_field.id}').value;
if (field_value.value ==" ")
Уже вторая ваша ошибка - из-за банальной невнимательности.
Это во-первых, во-вторых return false в данном случае вам ничего не даст - он не отменит ввод пробела. Лучше явно обнулять поле:
document.getElementById('value{$one_field.id}').value = "";
Получаем:
function onkeyup_{$one_field.id} () { field_value = document.getElementById('value{$one_field.id}').value; if (field_value == " ") { alert("Введите e-mail адрес вместо пробелов!"); document.getElementById('value{$one_field.id}').value = ""; } } addHandler(document.getElementById('value{$one_field.id}'), 'onkeyup', onkeyup_{$one_field.id});
#8
Отправлено 16 Октябрь 2011 - 18:43
#9
Отправлено 17 Октябрь 2011 - 09:39
#10
Отправлено 22 Февраль 2013 - 19:59
#11
Отправлено 23 Февраль 2013 - 11:13
#12
Отправлено 01 Июнь 2013 - 13:27
Есть 2 таблицы: "Группы" и "Курсанты". Курсанты - подчиненная по по полю связь "группа" (id 30). В таблице группы есть поле список "Набрана"(id 215) и значения Да и Нет.
Как вывести предупреждение (а в идеале и вовсе запретить добавление строки), если пользователь при добавлении курсанта выбирает ему в поле связь группу со значением "Да" в поле "Набрана"?
Заранее спасибо
#13
Отправлено 19 Ноябрь 2013 - 09:44
CbCoder (11 Март 2011 - 11:40) писал:
function onchange_{$one_field.id}() { field_value = document.getElementById('value{$one_field.id}').value; // далее сравниваем field_value (учтите что дата в нем в русском формате!) с текущей датой; как получить тек.дату в javascript смотрите в документации по javascript if (сравнение) alert("Дата меньше сегодняшней!"); } addHandler(document.getElementById('value{$one_field.id}'), 'onchange', onchange_{$one_field.id});
Учитывая, что КБ в первую очередь сделана для менеджеров, прошу вас описать ситуацию №1 более подробно с примером сравнения (далее сравниваем field_value (учтите что дата в нем в русском формате!) с текущей датой; как получить тек.дату в javascript смотрите в документации по javascript
if (сравнение) alert("Дата меньше сегодняшней!")

Это будет полезно для администраторов пользующихся шаблонами подобных примеров.
#14
Отправлено 21 Ноябрь 2013 - 12:47
#16
Отправлено 21 Ноябрь 2013 - 13:33
#17
Отправлено 22 Ноябрь 2013 - 03:37
function onchange_{$one_field.id}() { field_value = document.getElementById('value{$one_field.id}').value; // далее сравниваем field_value (учтите что дата в нем в русском формате!) с текущей датой; как получить тек.дату в javascript смотрите в документации по javascript var date = new Date(field_value.replace(/(\d+).(\d+).(\d+)/, '$3/$2/$1')); var date2 = new Date(); if (date.getTime() < date2.getTime()) jalert("Дата меньше сегодняшней!"); } addHandler(document.getElementById('value{$one_field.id}'), 'onchange', onchange_{$one_field.id});Как-то так.
Сообщение отредактировал wondertalik: 22 Ноябрь 2013 - 03:37
#18
Отправлено 22 Ноябрь 2013 - 16:19
wondertalik (22 Ноябрь 2013 - 03:37) писал:
function onchange_{$one_field.id}() { field_value = document.getElementById('value{$one_field.id}').value; // далее сравниваем field_value (учтите что дата в нем в русском формате!) с текущей датой; как получить тек.дату в javascript смотрите в документации по javascript var date = new Date(field_value.replace(/(\d+).(\d+).(\d+)/, '$3/$2/$1')); var date2 = new Date(); if (date.getTime() < date2.getTime()) jalert("Дата меньше сегодняшней!"); } addHandler(document.getElementById('value{$one_field.id}'), 'onchange', onchange_{$one_field.id});Как-то так.
Большое спасибо за помощь.
Попробовал, но не работает.
Я просто скопировал и вставил в JavaScript поля Дата.
Извините за глупый вопрос, что-то менять в этом шаблоне под мои данные надо или нет?
Я просто скопировал и вставил JavaScript.
Ещё раз спасибо.
Сообщение отредактировал Дмитрий ЕСП: 22 Ноябрь 2013 - 16:20
#19
Отправлено 22 Ноябрь 2013 - 17:09
Дмитрий ЕСП (22 Ноябрь 2013 - 16:19) писал:
Извините за глупый вопрос, что-то менять в этом шаблоне под мои данные надо или нет?
Сообщение отредактировал serg499: 22 Ноябрь 2013 - 17:09
#20
Отправлено 22 Ноябрь 2013 - 18:18
serg499 (22 Ноябрь 2013 - 17:09) писал:
Количество пользователей, читающих эту тему: 3
0 пользователей, 3 гостей, 0 анонимных