Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   как правильно построить вычисления в форме? (https://javascript.ru/forum/dom-window/57528-kak-pravilno-postroit-vychisleniya-v-forme.html)

Эдди 07.08.2015 15:07

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

Ячейкам назначить класс и в момент потери фокуса выполниь арифметику в функции?

Что мне не нравится в Js,
так это только то, что один результат можнл получить десятками способов. А какой лучше -новичкам не всегда ясно :)

EmperioAf 07.08.2015 15:17

http://htmlbook.ru/html/attr/onchange

ksa 07.08.2015 15:19

Цитата:

Сообщение от Эдди
Что мне не нравится в Js,
так это только то, что один результат можнл получить десятками способов. А какой лучше -новичкам не всегда ясно

А ты начни делать тестовый пример, вместо пространных рассказов - на нем тебе могут показать разные варианты реализации. ;)

Возможность реализовать проблемы разными вариантами не есть ущербность языка... Это больше его преимущество. :)

Эдди 07.08.2015 15:28

Ага, ща. В автобусе со смартфона напмшу.:)
Просто форма очень большая. Мне скорость нужна.
Так обращаться по классу или еще как?

Да. Onchange правильнее будет, хотя результат одинаковый.

ksa 07.08.2015 15:39

Цитата:

Сообщение от Эдди
Ага, ща. В автобусе со смартфона напмшу.

Не насилуй так себя...

Эдди 07.08.2015 17:16

Наконец за нормальным компом.
Други.
Обращение по class нормально работает?
Второй (идиотский) вопрос. В php нет функции определения процента.
Надо Иск x Игрек/100.
В JS тоже нет?

Эдди 07.08.2015 17:18

Про class спрашиваю, потому что в форме десятки и сотни инпутов.
В разное время разное количество.

EmperioAf 07.08.2015 17:33

Цитата:

Сообщение от Эдди
Обращение по class нормально работает?

как правило нет надобности назначать класс большому кол-ву элементов, потому что можно с помощью комбинированных селекторов "достать" любой элемент при очень небольшом кол-ве классов. Например:
<style>
.menu ul {
/*some styles*/
}

.menu li {
/*some styles*/
}

.menu a {
/*some styles*/
}
</style>
<div class="menu">
    <ul>
        <li><a href="#">Главная</a></li>
        <li><a href="#">Космос</a></li>
        <li><a href="#">Новости</a></li>
        <li><a href="#">Услуги</a></li>
        <li><a href="#">О нас</a></li>
        <li><a href="#">Контакты</a></li>
    </ul>
</div>

Эдди 08.08.2015 09:08

Спасибо, разобрался. Сделал по ID.
Кстати, событие onchange в моем случае не подходит.
Onblur работает нормально. По-любому onchange срабатывает при потере фокуса.

Вот к примеру, много ячеек, куда вводятся числа, и из них автоматически должен вычитаться процент, указанный где-то наверху в инпуте.
Чел. забыл ввести процент. В ячейку вводит, скажем, 100, а ничего не происходит. Тут он вводит вверху процент и снова вводит в ту же ячейку 100 (которые там уже есть).
И накаси... Никакого арифметического действия не происходит, потому что события onchange не возникает.

В общем, сделал все. Всем спасибо!!!


Часовой пояс GMT +3, время: 05:52.