Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> календарик. простой пример. найти ошибку 
:(
    Опции темы
voskvosvo
Дата 10.4.2008, 00:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 1.4.2008

Репутация: нет
Всего: нет



нужно сделать календарь. пользователь вводит в форму число - в таблице ячейка с соответствующим числом меняет цвет. функция сравнивает в цикле введенное число и id ячеек и подсвечивает искомую. проверял с alertами. но после того вновь возвращает прежнее свойство фона. кто help?
за примитивность программки оч стыдно, но очень нужно сделать быстрее..



Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>examRepin</title>
<style>
table {background-color:#ffffff;}
td {width:50; background-color:#ffffff;}
#gray {background-color:#999999}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=koi8-ru">
<script>
}
function start(){
var dat="15"; 
x=0;
dat=parseInt(document.getElementById("data").value);
alert(dat);
for (i=1; i<=28; i++){
if (dat==i){
document.getElementById(i).style.backgroundColor = "#999999";
x=i;
}}
document.getElementById(x).style.backgroundColor = "#999999";
}

</script>
</head>

<body>
<table cellspacing="0" cellpadding="0" border=1>
<tr><td>Сб</td><td>Вс</td><td>Пн</td><td>Вт</td><td>Ср</td><td>Чт</td><td>Пт</td></tr>
<tr><td id="1">1</td><td id="2">2</td><td id="3"  >3</td><td id="4">4</td><td id="5">5</td><td id="6">6</td><td id="7">7</td></tr>
<tr><td id="8">8</td><td id="9">9</td><td id="10">10</td><td id="11">11</td><td id="12">12</td><td id="13">13</td><td id="14">14</td></tr>
<tr><td id="15">15</td><td id="16">16</td><td id="17">17</td><td id="18">18</td><td id="19">19</td><td id="20">20</td><td id="21">21</td></tr>
<tr><td id="22">22</td><td id="23">23</td><td id="24">24</td><td id="25">25</td><td id="26">26</td><td id="27">27</td><td id="28">28</td></tr>

</table><form onSubmit="start(this.form);">
Введите день месяца  <input name="data" id="data" type="text" size="3" maxlength="2" value="18">
<input  type="submit" name="yes" value="Подтвердить" id="yes" >
</form>
<form></form>
</body>
</html>


PM MAIL   Вверх
Fortop
Дата 10.4.2008, 01:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 1
Всего: 42



1. А что ты собственно хочешь получить?
2. Цвет у тебя не возвращается, у тебя перезагружается страница, поскольку ты зачем-то активацию своей функции повесил на "onSubmit"

Повесь функцию на onclick своей кнопки, и тип кнопки измени на button.


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Itsys
Дата 10.4.2008, 07:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1338
Регистрация: 21.1.2008
Где: г. Москва

Репутация: 12
Всего: 34



А еще у тебя функция start объявлена без параметров, а ты туда передаешь this.form, зачем?
PM MAIL WWW Skype   Вверх
voskvosvo
Дата 10.4.2008, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 1.4.2008

Репутация: нет
Всего: нет



Цитата(Fortop @ 10.4.2008,  01:04)
1. А что ты собственно хочешь получить?
2. Цвет у тебя не возвращается, у тебя перезагружается страница, поскольку ты зачем-то активацию своей функции повесил на "onSubmit"

Повесь функцию на onclick своей кнопки, и тип кнопки измени на button.

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

2. насчет типа button. так и было изначально. проверил - в Опере работает. ie 7 при клике на кнопку выдает что команда не поддерживается объектом. 

за совет спасибо. но пока работает лишь в опере.

Добавлено через 3 минуты и 45 секунд
Цитата(Itsys @ 10.4.2008,  07:12)
А еще у тебя функция start объявлена без параметров, а ты туда передаешь this.form, зачем?

видимо неграмотность и невнимательность.( хотя данные функция прочитывала
PM MAIL   Вверх
Fortop
Дата 11.4.2008, 02:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 1
Всего: 42



Цитата(voskvosvo @  10.4.2008,  16:28 Найти цитируемый пост)
видимо неграмотность и невнимательность

Именно они самые.


12я строка надо <script type="text/javascript">
13я строка - удалить скобку }
14я строка - переименовать функцию в istart, поскольку start - конфликтует с чем-то в ИЕ - лень разбираться.
38я строка - убить onSubmit
40я строка изменить "submit" на "button" 
40я строка добавить onclick="istart();"

после этого - все заработает везде.

Добавлено через 11 минут и 2 секунды
да, оценку за экзамен как делить будем? smile на весь форум? smile


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
TryLight
Дата 11.4.2008, 04:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 26.8.2007

Репутация: нет
Всего: 1



Ну, я бы наверно это вот так решил:

Код

<html>
<head>
<title>examRepin</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<style>
table {background-color:#ffffff;}
td {width:50; background-color:#ffffff;}
#gray {background-color:#999999}
</style>
<script>
function start(){
  for (i=7;i<35;i++) document.getElementsByTagName('td')[i].style.backgroundColor='#ffffff';
  var dat = "15";
  dat = parseInt(document.getElementById('data').value) + 6;
  document.getElementsByTagName('td')[dat].style.backgroundColor='#999999';
}
</script>
</head>

<body>
<table cellspacing="0" cellpadding="0" border=1>
<tr><td>Сб</td><td>Вс</td><td>Пн</td><td>Вт</td><td>Ср</td><td>Чт</td><td>Пт</td></tr>
<tr><td id="1">1</td><td id="2">2</td><td id="3">3</td><td id="4">4</td><td id="5">5</td><td id="6">6</td><td id="7">7</td></tr>
<tr><td id="8">8</td><td id="9">9</td><td id="10">10</td><td id="11">11</td><td id="12">12</td><td id="13">13</td><td id="14">14</td></tr>
<tr><td id="15">15</td><td id="16">16</td><td id="17">17</td><td id="18">18</td><td id="19">19</td><td id="20">20</td><td id="21">21</td></tr>
<tr><td id="22">22</td><td id="23">23</td><td id="24">24</td><td id="25">25</td><td id="26">26</td><td id="27">27</td><td id="28">28</td></tr>
</table>

<br>

Введите день месяца  
<input name="data" id="data" type="text" size="3" maxlength="2" value="18">

<button onClick="start()">Подтвердить</button>

</body>
</html>

PM MAIL WWW   Вверх
voskvosvo
Дата 11.4.2008, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 1.4.2008

Репутация: нет
Всего: нет



Цитата(Fortop @ 11.4.2008,  02:00)
Цитата(voskvosvo @  10.4.2008,  16:28 Найти цитируемый пост)
видимо неграмотность и невнимательность

Именно они самые.


12я строка надо <script type="text/javascript">
13я строка - удалить скобку }
14я строка - переименовать функцию в istart, поскольку start - конфликтует с чем-то в ИЕ - лень разбираться.
38я строка - убить onSubmit
40я строка изменить "submit" на "button" 
40я строка добавить onclick="istart();"

после этого - все заработает везде.

Добавлено @ 02:11
да, оценку за экзамен как делить будем? smile на весь форум? smile

спасибо за советы. главное что разобрался с кнопкой. вечером нашло вдохновение, я переосмыслил задачу и вышло что то что работало в ie 7 и даже порой в опере. форму переделал в селект, добавил месяц, год, високосность. вся беда была с формой
насчет istart буду учитывать)
а отметку не зна до сих пор. вроде сдал. могу поделиться ей как узнаю. но ты наверно заслуживаешь выше)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0584 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.