Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.08.2015, 11:35   #1
Dzen7
 
Регистрация: 18.08.2015
Сообщений: 3
По умолчанию Запись цифры в Поле, после отметки чекбокса

Добрый день,

Подскажите, пожалуйста как повесить обработчик на 2-ой чекбокс var2,
чтобы при нажатии на него, в Поле ввода где переменная znachenie вписывалась цифра 10?
И также при нажатии на + и – значение в поле znachenie увеличивалось на 10 при нажатии на + или уменьшалось на 10 при нажатии на минус.
То есть два раза на + нажали, получили 20.

Можно пример?

Код HTML:
<form>
<td align=center width=5%>
<input type=checkbox name=var1 value=>
<input type=checkbox name=var2 value=>
+ | -</td>

<td align=center width=1%>
<input type=txt name=znachenie></input>
</td>

</form>
Dzen7 вне форума Ответить с цитированием
Старый 18.08.2015, 14:14   #2
Fenex
Форумчанин
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 823
По умолчанию

Код:
<input type="text" id="field" />
<div>
    <span style="cursor:pointer;" onclick="change(10)">+</span>
     | 
    <span style="cursor:pointer;" onclick="change(-10)">-</span>
</div>
Код:
function change(value) {
    var field = document.getElementById('field');
    var intValue = parseInt(field.value);
    field.value = isNaN(intValue) ? 0 : intValue + value;
}
^-.-^ My GitHub

Последний раз редактировалось Fenex; 18.08.2015 в 14:16.
Fenex вне форума Ответить с цитированием
Старый 18.08.2015, 14:52   #3
Dzen7
 
Регистрация: 18.08.2015
Сообщений: 3
По умолчанию

спасибо.

мм... а если у нас окажется 50 или 100 таких полей, 100 уникальных id делать?:-\ сколько ж этого кода будет:

Код:
function change(value) {
    var field = document.getElementById('field');
    var intValue = parseInt(field.value);
    field.value = isNaN(intValue) ? 0 : intValue + value;
}
нельзя ли его сделать универсальным, если кол-во input'ов может быть хоть 100
Dzen7 вне форума Ответить с цитированием
Старый 19.08.2015, 07:20   #4
Fenex
Форумчанин
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 823
По умолчанию

Группируйте элементы в блоки и находите поле ввода по дереву элементов относительно нажатой клавиши.
Код:
<div>
    <input type="text" />
    <div>
        <span style="cursor:pointer;" onclick="change(10, this)">+</span>
         | 
        <span style="cursor:pointer;" onclick="change(-10, this)">-</span>
    </div>
</div>
<div>
    <input type="text" />
    <div>
        <span style="cursor:pointer;" onclick="change(10, this)">+</span>
         | 
        <span style="cursor:pointer;" onclick="change(-10, this)">-</span>
    </div>
</div>
Код:
function change(value, element) {
    var field = element.parentNode.parentNode.getElementsByTagName('input')[0];
    var intValue = parseInt(field.value);
    field.value = isNaN(intValue) ? 0 : intValue + value;
}
^-.-^ My GitHub

Последний раз редактировалось Fenex; 19.08.2015 в 07:26.
Fenex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Второй символ цифры в поле Edit Jeraldino74 Компоненты Delphi 7 25.10.2012 12:55
Округление после 16-й цифры WIC Microsoft Office Excel 4 07.05.2010 10:09
После ввода в поле по Enter нужно перейти на другое поле! •ScReam•™ Помощь студентам 2 16.06.2009 08:47
В текстовом поле найти цифры и сделать большими Wasili4 Microsoft Office Access 0 26.05.2009 14:03
Вывод ошибки при вводе цифры 1..5 в поле Edit prikolist Общие вопросы C/C++ 2 16.03.2009 00:22