Форум программистов, компьютерный форум, киберфорум
Наши страницы
JavaScript
Войти
Регистрация
Восстановить пароль
 
SirotaSOFT
0 / 0 / 0
Регистрация: 23.08.2013
Сообщений: 3
1

Кто поможет написать несложный JavaScript ?

23.08.2013, 12:05. Просмотров 433. Ответов 4
Метки нет (Все метки)

1. Имеются поля формы в которые пользователь может вводить цифры (от 0 до 9) а также текстовый счётчик ошибок: Ошибок: 0

2. Если пользователь ввёл в поле формы цифру совпадающую с заданной заранее для этого поля цифрой (или цифрами) – она остаётся в поле, в противном случае введённая пользователем цифра тоже остаётся, но поле «подкрашивается» красным и происходит инкремент счётчика ошибок.

3. Если все поля формы заполнены и не «подкрашены» красным, вся <table> или <div> в которой находится форма, «подкрашивается» зелёным

4. Поля формы у которых совпадает заданная заранее цифра (цифры) считаются связанными, т.е. изменение в одном поле автоматически приводят к изменению остальных – связанных полей формы.
0
Миниатюры
Кто поможет написать несложный JavaScript ?  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.08.2013, 12:05
Ответы с готовыми решениями:

Javascript деление чисел, кто поможет?
Здравствуйте, прошу помощи. Как правильно сделать в html форме, чтобы в первом...

Нужен несложный эффект на JavaScript
Здравствуйте, уважаемые эксперты!:senor: Нужен несложный эффект на...

Кто может написать JavaScript?
Вот что нужно нужно чтоб то что я ввел в строке после нажатия на энтер или...

Кто-нибудь разбирается со style в javascript?
Помогите, пожалуйста! У меня в дереве ошибка выдается, а как ее исправить не...

Написать JavaScript
Создать HTML-файл со ссылками на все htm-файлы текущего каталога:...

4
kalabuni
Нарушитель
3245 / 2568 / 616
Регистрация: 18.04.2012
Сообщений: 7,714
23.08.2013, 12:38 2
вопросы:
1. юзер ввёл не цифру, что делать?
варианты:
-- затирать введённое и считать это ошибкой
-- не затирать, а подкрашивать и считать ошибкой
-- не затирать и не подкрашивать, и ошибкой не считать
-- какой-то ваш вариант

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

3. если в каком-то одном из связанных полей введена недопустимая цифра - её повторять в другом поле?
а подкрашивать надо оба поля при верном или неверном вводе?

4. связанных полей в общем случае только 2, или возможно большее количество?

5. где поле(место) для вывода счётчика ошибок на вашем рисунке?
0
SirotaSOFT
0 / 0 / 0
Регистрация: 23.08.2013
Сообщений: 3
23.08.2013, 13:09  [ТС] 3
1. если пользователь ввёл не то, что предусмотрено в поле как правильный ответ - красная рамка, инк. счётчика ошибок и то что он ввёл пускай остаётся
2. поля связаны в обе стороны. все поля доступны изначально
3. вы абсолютно правы
4. связанных полей может не быть вовсе, а может быть несколько. Для простоты можно связь выставлять в самом коде скрипта в виде массива.
5. на рисунке его нет забыл нарисовать.

Цитата Сообщение от kalabuni Посмотреть сообщение
вопросы:
1. юзер ввёл не цифру, что делать?
варианты:
-- затирать введённое и считать это ошибкой
-- не затирать, а подкрашивать и считать ошибкой
-- не затирать и не подкрашивать, и ошибкой не считать
-- какой-то ваш вариант

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

3. если в каком-то одном из связанных полей введена недопустимая цифра - её повторять в другом поле?
а подкрашивать надо оба поля при верном или неверном вводе?

4. связанных полей в общем случае только 2, или возможно большее количество?

5. где поле(место) для вывода счётчика ошибок на вашем рисунке?
0
kalabuni
Нарушитель
3245 / 2568 / 616
Регистрация: 18.04.2012
Сообщений: 7,714
23.08.2013, 14:16 4
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<div id="mD">
<p><input id="f0" alw="1,2,5" rlt="f3">
<p><input id="f1" alw="7">
<p><input id="f2" alw="4">
<p><input id="f3" alw="1,2,5" rlt="f0">
</div>
<p>Îøèáîê: <span id="err">0</span>
<script>
for (var d = document,
         t = d.getElementById ('mD').getElementsByTagName ('input'),
         j = 0, J = t.length; j < J; j++)
   {
   t [j].maxLength = 1; t [j].style.textAlign = 'center';
   if (d.attachEvent) t [j].attachEvent ('onkeyup', mF);
   else if (d.addEventListener) t [j].addEventListener ('keyup', mF, false);
   }
 
function mF ()
   {
   var q = this, p = q.value.length,
       n = q.getAttribute ('alw').split (',');
   for (var k = l = 0, K = n.length; k < K; k++)
      if (q.value == n [k]) {l = 1; break}
   q.style.borderColor = !p ? '' : (l ? '' : 'red');
   if (!l && p) d.getElementById ('err').innerHTML++;
   if (q.getAttribute ('rlt'))
      for (var m = 0, r = q.getAttribute ('rlt').split (','), M = r.length; m < M; m++)
         with (d.getElementById (r [m]))
            value = q.value, style.borderColor = !p ? '' : (l ? '' : 'red');
   }
</script>
* в атрибуте alw указываете допускаемые для ввода цифры, через запятую
** в атрибуте rlt указываете id связанных инпутов, через запятую (если инпут "связанный")
1
SirotaSOFT
0 / 0 / 0
Регистрация: 23.08.2013
Сообщений: 3
23.08.2013, 16:07  [ТС] 5
Огромное спасибо !!!

Добавлено через 1 минуту
помогите ещё пожалуйста реализовать п.3 (про зелёную подсветку)
0
23.08.2013, 16:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.08.2013, 16:07

Написать на JavaScript
Буду вам очень благодарен если вы поможете мне написать скрипт на это...

JavaScript написать скрипт
Здравствуйте, помогите, пожалуйста, написать скрипт. Первый скрипт, образцов...

Как написать такой скрипт? - Js, JavaScript
Помогите мне написать скрипт. Есть пустой блок. Надо, чтобы в нем, при нажатии...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru