Windwonder
Создатель
- Регистрация
- 6 Авг 2016
- Сообщения
- 17
- Реакции
- 3
- Автор темы
- #1
Всем привет.
Помогите разобраться с задачей!
Собираю форму калькулятора на RSForm (Joomla 3).
Все тривиальные ф-и вычислений данный конструктор выполняет на ура.
Остановился на моменте вычисления степени от значения переменной. Стандартные средства конструктора это сделать не позволяют (по крайней мере на том уровне, что и сумма/разность/деление/умножение). Пришлось пилить отдельный скрипт.
И так. Есть форма:
Input "per" вычисляется встроенным скриптом калькулятора RSForm по формуле, исходя из выбора чекбокса "item" пользователем. Input "date" так же обрабатывается календарным скриптом RSForm исходя из выбора начальной и конечной даты календаря. Поля обрабатываются аяксом и их значения отображаются моментально.
Необходимо возвести значение инпута "per" в степень значения "date".
Вставляю скрипт js:
Скрипт работает, но проблема в том, что он срабатывает только при загрузке страницы (единоразово) и принимает значение исходя из дефолтных value полей "per" и "date" (1/пустое соответственно).
Как правильно создать событие, чтоб переменная 'result' вычислялась каждый раз, как пользователь внёс изменения в зависимые поля? Пробовал добавить событие oninput, но заставить работать не получилось( Помогите сделать это правильно
Помогите разобраться с задачей!
Собираю форму калькулятора на RSForm (Joomla 3).
Все тривиальные ф-и вычислений данный конструктор выполняет на ура.
Остановился на моменте вычисления степени от значения переменной. Стандартные средства конструктора это сделать не позволяют (по крайней мере на том уровне, что и сумма/разность/деление/умножение). Пришлось пилить отдельный скрипт.
И так. Есть форма:
HTML:
<form id="first">
<input id="item" value="" type="checkbox" >
<input id="calend" value="" type="input" >
<input id="per" value="" type="text" >
<input id="date" value="" type="text" >
<input id="res" value="" type="text" >
</form>
Input "per" вычисляется встроенным скриптом калькулятора RSForm по формуле, исходя из выбора чекбокса "item" пользователем. Input "date" так же обрабатывается календарным скриптом RSForm исходя из выбора начальной и конечной даты календаря. Поля обрабатываются аяксом и их значения отображаются моментально.
Необходимо возвести значение инпута "per" в степень значения "date".
Вставляю скрипт js:
Код:
<script type="text/javascript">
var a = document.getElementById("userForm").per.value;
var b = document.getElementById("userForm").date.value;
var result = Math.pow(a,b);
document.getElementById("userForm").res.value = result;
</script>
Скрипт работает, но проблема в том, что он срабатывает только при загрузке страницы (единоразово) и принимает значение исходя из дефолтных value полей "per" и "date" (1/пустое соответственно).
Как правильно создать событие, чтоб переменная 'result' вычислялась каждый раз, как пользователь внёс изменения в зависимые поля? Пробовал добавить событие oninput, но заставить работать не получилось( Помогите сделать это правильно