0 Пользователей и 1 Гость просматривают эту тему.
  • 1017 Ответов
  • 264628 Просмотров
*

alexj69

  • Захожу иногда
  • 244
  • 28 / 0
  • Думать надо!!!
Люди есть у кого скрипт сравнения?
в форме делаешь
Код
вес <input name="vec"  id="vec" type="text"  onKeyUp="kw()"/><br/>

и скрытое поле, в которое будет выводится результат сравнения:
Код
<div  style="display:none;"><input name="koef"  id="koef" value="" type="text" /></div>
Перед формой вставляешь скрипт:
Код
<script>
kw=(function (){
var v = document.getElementById("vec").value;
var tW1 = "значение 1";
var tW2 = "значение 2";
var tW3 = "значение 3";
var tW4 = "значение 4";
var tW5 = "значение 5";

var tWes;
if(v<=500)
   document.getElementById("koef").value=tW1;
else if (v<=800)
   document.getElementById("koef").value=tW2;
else if (v<=1500)
   document.getElementById("koef").value=tW3;
else if (v<=3000)
   document.getElementById("koef").value=tW4;
else
   document.getElementById("koef").value=tW5;
document.forms['calcForm'].elements['vec'].fireEvent('change');
});
</script>
Вместо значение подставить значения понижающего/повышающего коэффициента.

Теперь если пользователь введет в поле "vec" значение меньше 500, по в поле "koef" подставится значение 1, 900 - то значение 3 и т.д.
Естественно в формуле учитывай коэффициент
{vec}*{koef}
« Последнее редактирование: 30.07.2013, 13:58:16 от alexj69 »
*

sashahz

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
alexj69, хорошо сейчас попробую.Если что с меня +
*

alexj69

  • Захожу иногда
  • 244
  • 28 / 0
  • Думать надо!!!
Пробелы убрал, но проблема почему-то так и осталась
А ты в скрипте не копался? У меня FireBug показывает ошибку:
Цитировать
TypeError: $(...).set is not a function
http://строймирпроект.рф/components/com_formcalc/assets/js/formcalc.js
Line 80
*

zeus07

  • Давно я тут
  • 723
  • 9 / 0
Хм, удивительно, так как файлы компонента вообще не правил...
*

sashahz

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
alexj69, выдаёт ошибку Uncaught SyntaxError: Unexpected token > ваш скрипт
*

alexj69

  • Захожу иногда
  • 244
  • 28 / 0
  • Думать надо!!!
alexj69, выдаёт ошибку Uncaught SyntaxError: Unexpected token > ваш скрипт
дай ссылку, посмотрю
*

sashahz

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
дай ссылку, посмотрю

Вы не сможите посмотреть он ещё на локалке стоят я забыл
*

zeus07

  • Давно я тут
  • 723
  • 9 / 0
в форме делаешь
Код
вес <input name="vec"  id="vec" type="text"  onKeyUp="kw()/>

и скрытое поле, в которое будет выводится результат сравнения:
Код
<div  style="display:none;"><input name="koef"  id="koef" value="" type="text" /></div>
Перед формой вставляешь скрипт:
Код
<script>
kw=(function (){
var v = document.getElementById("vec").value;
var tW1 = "значение 1";
var tW2 = "значение 2";
var tW3 = "значение 3";
var tW4 = "значение 4";
var tW5 = "значение 5";

var tWes;
if(v<=500)
   document.getElementById("koef").value=tW1;
else if (v<=800)
   document.getElementById("koef").value=tW2;
else if (v<=1500)
   document.getElementById("koef").value=tW3;
else if (v<=3000)
   document.getElementById("koef").value=tW4;
else
   document.getElementById("koef").value=tW5;
document.forms['calcForm'].elements['vec'].fireEvent('change');
});
</script>
Вместо значение подставить значения понижающего/повышающего коэффициента.

Теперь если пользователь введет в поле "vec" значение меньше 500, по в поле "koef" подставится значение 1, 900 - то значение 3 и т.д.
Естественно в формуле учитывай коэффициент
{vec}*{koef}

Нашёл тут ошибку. После последнего else нет открывающейся фигурной скобки, поэтому не работает
*

zeus07

  • Давно я тут
  • 723
  • 9 / 0
В общем даже вот так должно быть, если не ошибаюсь:

Код
<script>
kw=(function (){
var v = document.getElementById("vec").value;
var tW1 = "значение 1";
var tW2 = "значение 2";
var tW3 = "значение 3";
var tW4 = "значение 4";
var tW5 = "значение 5";

var tWes;
if(v<=500) {
   document.getElementById("koef").value=tW1;
}
else if (v<=800) {
   document.getElementById("koef").value=tW2;
}
else if (v<=1500) {
   document.getElementById("koef").value=tW3;
}
else if (v<=3000) {
   document.getElementById("koef").value=tW4;
}
else {
   document.getElementById("koef").value=tW5;
document.forms['calcForm'].elements['vec'].fireEvent('change');
});
</script>
*

sashahz

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
В общем даже вот так должно быть, если не ошибаюсь:

Код
<script>
kw=(function (){
var v = document.getElementById("vec").value;
var tW1 = "значение 1";
var tW2 = "значение 2";
var tW3 = "значение 3";
var tW4 = "значение 4";
var tW5 = "значение 5";

var tWes;
if(v<=500) {
   document.getElementById("koef").value=tW1;
}
else if (v<=800) {
   document.getElementById("koef").value=tW2;
}
else if (v<=1500) {
   document.getElementById("koef").value=tW3;
}
else if (v<=3000) {
   document.getElementById("koef").value=tW4;
}
else {
   document.getElementById("koef").value=tW5;
document.forms['calcForm'].elements['vec'].fireEvent('change');
});
</script>

Вставил серавно ругаеться на строку <div style="display:none;"><input name="koef"  id="koef" value="" type="text" /></div>
Uncaught SyntaxError: Unexpected token > (repeated 1 times)
*

sashahz

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
Нашёл 1 косяк, исправил, но серавно не считает Uncaught TypeError: Cannot set property 'value' of null ошибка уже пишет что в formcalc.js:79
« Последнее редактирование: 21.07.2013, 17:10:02 от sashahz »
*

alexj69

  • Захожу иногда
  • 244
  • 28 / 0
  • Думать надо!!!
В спешке пропустил закрывающие кавычки. Вот рабочий вариант:
скрипт
Спойлер
[свернуть]
код:
Спойлер
[свернуть]
формула rez={vec}*{sale1}
*

sashahz

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
В спешке пропустил закрывающие кавычки. Вот рабочий вариант:
скрипт
Спойлер
[свернуть]
код:
Спойлер
[свернуть]
формула rez={vec}*{sale1}

Спасибо огромное! + в репу поставлю, только сейчас сделаю. А если будет много таких значений конфликта не будет?
*

alexj69

  • Захожу иногда
  • 244
  • 28 / 0
  • Думать надо!!!
если правильно сделаете, то не будет
*

zeus07

  • Давно я тут
  • 723
  • 9 / 0
По моему вопросу есть какие-то мысли? А то впервые с таким сталкиваюсь...
*

sashahz

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
Однако не всё так гладко добавил свой элемент и тут вот что
document.forms['calcForm'].elements['sale1'].fireEvent('change');
Uncaught TypeError: Object #<HTMLInputElement> has no method 'fireEvent' (repeated 3 times)
*

alexj69

  • Захожу иногда
  • 244
  • 28 / 0
  • Думать надо!!!
По моему вопросу есть какие-то мысли? А то впервые с таким сталкиваюсь...
попробуй переустановить компонент.
Однако не всё так гладко добавил свой элемент и тут вот что
document.forms['calcForm'].elements['sale1'].fireEvent('change');
Uncaught TypeError: Object #<HTMLInputElement> has no method 'fireEvent' (repeated 3 times)
что именно Вы хотите добавить?
*

sashahz

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
Так кое в чём разобрался, ошибок нету! Если что отпишусь:)
« Последнее редактирование: 21.07.2013, 17:44:37 от sashahz »
*

zeus07

  • Давно я тут
  • 723
  • 9 / 0
Хм, переустановил, и такая же проблема
*

sashahz

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
Хм, переустановил, и такая же проблема

Проверь хорошо код, потому что если ты не вывел хоть 1 значение на экран то будет эта ошибка!
*

zeus07

  • Давно я тут
  • 723
  • 9 / 0
Проверь хорошо код, потому что если ты не вывел хоть 1 значение на экран то будет эта ошибка!
Не, у меня значение выведено, просто во время подсчёта калькулятор не реагирует на введённые значения, вот это удивительно
*

sashahz

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
А есть ещё один вопрос, как вставлять значение в зависимости от выбраного radio ?
*

rmfalx

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
А-а-а, ну я чтот совсем запарился(((

Помогите пожалуйста.

Вообщем смысл в том, что в зависимости от метража (чем он выше) уборка будет стоить дешевле, время увеличиваться и кол-во людей тоже будет увеличиваться. Но уборки есть 3 вида (в зависимости от услуг которые входят). То есть получается, что для радиобатона надо сразу 5 значение прикручивать.

Т.е. Есть 4 радиобатона

При нажатии от 0 до 49 - "Эконом" м2 стоит 33руб. 4 часа, 1 человек, "Стандарт" м2 стоит 65руб. 6 часов, 1 человек, "Идеал" м2 стоит 95руб. 8 часов, 1 человек.
При нажатии от 50 до 74 - "Эконом" м2 стоит 28руб. 4.5 часов 1 человек, "Стандарт" м2 стоит 48руб. 7 часов, 1 человек, "Идеал" м2 стоит 81руб, 6 часов, 2 человека.
При нажатии от 45 до 99 - "Эконом" м2 стоит 25руб. 5 часов, 1 человек, "Стандарт" м2 стоит 39руб. 8 часов, 1 человек, "Идеал" м2 стоит 91руб, 7 часов, 2 человека.
При нажатии от 100 до 120 - "Эконом" м2 стоит 24руб. 5.5 часов, 1 человек, "Стандарт" м2 стоит 37руб. 9 часов, 1 человек, "Идеал" м2 стоит 70руб. 8 часов, 2 человека.

А вот если больше 120, то пользователь сам вводит в текстовое поле значение, которое умножается на 21руб, нажимает кнопку расчитать и расчитывает. Тут для этого поля так же нужна проверка, что число введенное не ниже 120 и не выше 10 000.

Шаблон сам сделан http://cleanqueen.ru/prajslist
*

27NataRUS

  • Захожу иногда
  • 116
  • 0 / 0
Здравствуйте. Никто не подскажет, почему калькулятор перестал корректно давать информацию о заказе после оформления и высылает письма с пустыми строками о количестве выбранного товара и итоговой стоимостью? Полгода все нормально работало. Код шаблона письма и шаблон сообщения при отправке формы нормальный.
*

zeus07

  • Давно я тут
  • 723
  • 9 / 0
В общем решил свою проблему. Как оказалось, проблема была в том, что скрипт formcalc.js подключался раньше, чем jQuery.
*

alexj69

  • Захожу иногда
  • 244
  • 28 / 0
  • Думать надо!!!
А-а-а, ну я чтот совсем запарился(((

Помогите пожалуйста.

Вообщем смысл в том, что в зависимости от метража (чем он выше) уборка будет стоить дешевле, время увеличиваться и кол-во людей тоже будет увеличиваться. Но уборки есть 3 вида (в зависимости от услуг которые входят). То есть получается, что для радиобатона надо сразу 5 значение прикручивать.

Т.е. Есть 4 радиобатона

При нажатии от 0 до 49 - "Эконом" м2 стоит 33руб. 4 часа, 1 человек, "Стандарт" м2 стоит 65руб. 6 часов, 1 человек, "Идеал" м2 стоит 95руб. 8 часов, 1 человек.
При нажатии от 50 до 74 - "Эконом" м2 стоит 28руб. 4.5 часов 1 человек, "Стандарт" м2 стоит 48руб. 7 часов, 1 человек, "Идеал" м2 стоит 81руб, 6 часов, 2 человека.
При нажатии от 45 до 99 - "Эконом" м2 стоит 25руб. 5 часов, 1 человек, "Стандарт" м2 стоит 39руб. 8 часов, 1 человек, "Идеал" м2 стоит 91руб, 7 часов, 2 человека.
При нажатии от 100 до 120 - "Эконом" м2 стоит 24руб. 5.5 часов, 1 человек, "Стандарт" м2 стоит 37руб. 9 часов, 1 человек, "Идеал" м2 стоит 70руб. 8 часов, 2 человека.

А вот если больше 120, то пользователь сам вводит в текстовое поле значение, которое умножается на 21руб, нажимает кнопку расчитать и расчитывает. Тут для этого поля так же нужна проверка, что число введенное не ниже 120 и не выше 10 000.

Шаблон сам сделан http://cleanqueen.ru/prajslist
Можно все гораздо проще сделать. Пусть будет поле, в которое пользователь вводит метраж своей квартиры и уже в зависимости от введенного значения будут выводится нужные значения и автоматически рассчитываться стоимость.
*

nik-ita

  • Осваиваюсь на форуме
  • 35
  • 0 / 0
Можно все гораздо проще сделать. Пусть будет поле, в которое пользователь вводит метраж своей квартиры и уже в зависимости от введенного значения будут выводится нужные значения и автоматически рассчитываться стоимость.

и как такое сделать?... мой ранее вопрос аналогичен этому решению..:)
натолкните на мысль.. а?
*

rmfalx

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Можно все гораздо проще сделать. Пусть будет поле, в которое пользователь вводит метраж своей квартиры и уже в зависимости от введенного значения будут выводится нужные значения и автоматически рассчитываться стоимость.


Ну впринципе да, даже и проще. Тогда можно сделать и статическую стоимость, если пользователь вводит от 0 до 49 = Эконом-1650, Стандарт-3200, Идеал-4700. Если вводит от 50 до 74, то = Эконом-2100, Стандарт-3600, Идеал-6000. Если 75-99 то 2500, 3900, 700. Если 100-120 то 2900, 4500, 8500. Если больше 120 то введенная цифра умножается на 21. Плюс еще прикрутить время и кол-во человек.

НО КАК дать множественное значение одному только полю?
*

other62

  • Новичок
  • 3
  • 0 / 0
Люди очень нужна помощь! Какой скрипт должен быть на калькулятор с двумя селектами и радиобаттоном. Примерно такого вида. Формула = (селект 1+ селект 2)*радиобаттон.

Делаю по примеру - не работает. 3 дня мучаюсь...
<td>Класс автомобиля:</td><td>

<select name=”auto”>

<option value=”36″>Эконом</option>

<option value=”40″>Комфорт</option>

<option value=”45″>Универсал</option>

<option value=”50″>Бизнес</option>

</select>

</td>

</tr>

<tr>

<td>Вы заплатите:</td><td>{rez} руб.</td>

</tr>

</table>


*

zeus07

  • Давно я тут
  • 723
  • 9 / 0
Люди очень нужна помощь! Какой скрипт должен быть на калькулятор с двумя селектами и радиобаттоном. Примерно такого вида. Формула = (селект 1+ селект 2)*радиобаттон.

Делаю по примеру - не работает. 3 дня мучаюсь...
<td>Класс автомобиля:</td><td>

<select name=”auto”>

<option value=”36″>Эконом</option>

<option value=”40″>Комфорт</option>

<option value=”45″>Универсал</option>

<option value=”50″>Бизнес</option>

</select>

</td>

</tr>

<tr>

<td>Вы заплатите:</td><td>{rez} руб.</td>

</tr>

</table>



Могу помочь. Разрабатывал подобный калькулятор : http://bmw97.ru/poschitat-stoimost-avto
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Компонент Web Plan интерактивная карта для Joomla 1.5 (построение сайтов плановых объектов)

Автор DelaShop

Ответов: 39
Просмотров: 30316
Последний ответ 21.01.2018, 14:50:57
от Dinamitt
Калькулятор форм - продолжение

Автор osobist

Ответов: 2
Просмотров: 3980
Последний ответ 25.01.2015, 18:00:18
от dj_serg
Отрывной календарь Joomla, календарь событий.

Автор DelaShop

Ответов: 35
Просмотров: 30420
Последний ответ 17.12.2014, 06:20:05
от EndVal
Компонент " Просто каталог Joomla + Mixmarket Joomla "

Автор DelaShop

Ответов: 16
Просмотров: 16959
Последний ответ 10.07.2013, 11:06:13
от konservator