scream
1

Создание универсального окна с календарем.

23.08.2007, 17:22. Показов 1603. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Простая ситуация:
Есть поле на форме с датой и кнопкой рядом. По нажатии на кнопку вызываеться красивое окно с календарем (типа как виндовс). После нажатия мышкой на какую-нибудь дату окно должно закрываться, а дата передаваться в вызывавшую форму.

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

Как тут лучше поступить ? Есть ли готовые проекты ?

Зарание благодарен всем кто откликнется !
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.08.2007, 17:22
Ответы с готовыми решениями:

Создание универсального шаблона
Не понимаю програмную реализацию задания. Создайте класс MyClass<T>, содержащий статический...

Создание универсального конвертора!!
Здраствуйте все, я разработал конвертер. Но мне нужно ваша помощь!!! ...

Создание универсального триггера
Добрый вечер. Есть вопрос по Transact-SQL Итак, есть задание написать триггер на некоторую...

Создание универсального автозагрузчика
Нашёл код на данном форуме для программы, которая добавляет сама себя в автозагрузку. Но, надо было...

11
Sergik
23.08.2007, 18:20 2
поместить код для календаря в отдельный файл .js и включать его в каждую страницу <script src='файл'
Тогда любое изменение в файле js сразу отразится на всех страницах
scream
23.08.2007, 18:46 3
Видиш ли, Sergik,

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

Запихнуть в слой календарь также не получается, т.к. в нем есть кнопки типа след месяц, и пред месяц, которые полностью меняют его содержание.

Буду благодарен любому совету
Sergik
23.08.2007, 18:52 4
<input type=button onclick='myf('id_текстбокса_в_который_нужно_поместить_выьранное_значение')'>
<script>
function myf(id)
{
eval('document.form.'+id+'.value=функция_вызова_календаря');
}
</script>
идея понятна?
0 / 0 / 0
Регистрация: 12.04.2007
Сообщений: 64
23.08.2007, 19:27 5
Посмотри тут http://www.activex.net.ru/
Може это подойдет
0
prosto
23.08.2007, 19:44 6
Календарь на любой год
http://prosto.pp.ru/Docum/DocumShow.asp?DocumID=124
scream
24.08.2007, 19:11 7
Нет, Sergik, смотри:

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

Большое спасибо за то, что пытаетесь помочь. В наше время мало встретишь людей готовых тебе помочь. А уж тем более незнакомому человеку.
scream
24.08.2007, 19:22 8
Спасибо, РеЗус.
К моему сожалению тот календарь возвращает данные ч-з обычный URL, что не применимо в моем случае.

Буду благодарен за дальнейшее содействие !
scream
24.08.2007, 19:30 9
http://prosto.pp.ru/Docum/DocumShow.asp?DocumID=124
К сожалению, этот календарь также работает ч-з передачу по submit. Т.е. для его использования, нужно где-то хранить все поля вызывающей этот календарь формы. А если нужно вызывать этот календарь из различных форм, то для каждой такой формы надо писать отдельный календарь с соответствующими hiden полями.

Спасибо за помощь, prosto.
Sergik
26.08.2007, 12:21 10
открываешь окно, родительское окно доступно с помощью window.opener, в родительском окне есть функция, которая во всех файлах одинаково называется, но присваивает полученное значение разным (нужным) текстбоксам. примерно так:
1.htm
<input type=text name=tdate>
<input type=button onclick='window.open('cal.htm')'>
<script>
function setDate(val)
{
document.formname.tdate=val;
}
</script>

cal.htm
выводится календарь и кнопка 'выбрать дату' по нажатию на кнопку вызывается следующий код:
window.opener.execScript('setDate('+выбранная_дата+')');window.close();
В нетскейпе работать не будет, если очень нужно, можно и с NN что-нить придумать
scream
27.08.2007, 13:59 11
Спасибо, Sergik !

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

А в общем очень хороший метод. Поделись плз сукретом, где нарыл документацию про opener. Я кроме parent ничего не находил, а он не работает.

Еще раз большое спасибо !
Sergik
27.08.2007, 14:08 12
я пользуюсь HomeSite для написания кода, кроме всех остальных примочек там есть еще и отличный help по dhtml
27.08.2007, 14:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.08.2007, 14:08
Помогаю со студенческими работами здесь

Создание универсального стека
Прошу помощи в создании универсального стека. Вообще в реализации стека хранящего определенный тип...

Создание универсального обработчика форм
Есть задача сделать универсальную обработку форм, то есть - есть набор функции которые обрабатывают...

Создание универсального образа системы Windows
Доброе время суток! я занимаюсь ремонтом компьютеров. ну и чаще всего возникает банальная задача...

Создание универсального HTML элемента/виджета
Вопрос такой. Хочу сверстать виджет(или не знаю как назвать), который бы мог вставляться на любой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru