1. Уважаемые пользователи, прежде чем ответить в теме или создать новую,
    внимательно ознакомьтесь с правилами раздела

    Кому лень работать или руки не оттуда - пользуйтесь услугами специалистов
  2. Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.."

    Есть JED!!! Ищите там!!!

Помощь Добавить JavaScript в компонент FormCalc

Тема в разделе "Joomla", создана пользователем alexXXL, 23 окт 2012.

Информация :
  • Уважаемые пользователи, прежде чем ответить в теме или создать новую, внимательно ознакомьтесь с правилами раздела
  • Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.." Есть JED!!! Ищите там!!!
  • Аналоги ищите там же - на JED!!!
  • Новая версия? - У кого будет - тот выложит!
Статус темы:
Закрыта.
Модераторы: arman29, DMS, Genk0, NightHunter
  1. alexXXL

    alexXXL Постоялец

    Регистр.:
    7 май 2012
    Сообщения:
    123
    Симпатии:
    8
    Нужна помощь в настройке калькулятора грузоперевозок на основе компонента FormCalc . Сейчас стоимость перевозок рассчитывается по формуле:
    Код:
    rez={wes}*4
    где: wes - вес груза, вводимый пользователем, 4 - тариф перевозки 1 кг.
    Нужно сделать так, чтобы в зависимости от введенного пользователем веса выбирался тариф перевозок, например до 500 кг - 4,4; до 800 кт - 4,2: до 1500 кг - 4 и т.п.
    Насколько я понимаю, нужна какая-нибудь функция сравнения. Так как в JavaScript я полный ноль, прошу вашей помощи в написании этой функции.
     
  2. joom-joom

    joom-joom

    Регистр.:
    28 фев 2010
    Сообщения:
    429
    Симпатии:
    148
    спроси лучше в java-разделе.
     
  3. Extalionez

    Extalionez Клоун

    Заблокирован
    Регистр.:
    21 авг 2008
    Сообщения:
    368
    Симпатии:
    185
    там не знают синтаксис formcalc. Вот тебе формула, правда не могу проверить - у меня он не работает почему-то:(
    Код:
    if({wes} < 500){
        rez = 4.4;
    }else if({wes} >= 500 && {wes} < 800){
        rez = 4.2;
    }else if({wes} >= 800 && {wes} < 1500){
        rez = 4;
    }
    Код для html должен быть таким
    HTML:
    Вес груза: <input type="text" name="wes" />
    Тариф: {rez}
    P.S.: Кстати он у кого-нить на joomla 2.5 вообще работает? FormCalc всмысле
     
  4. alexXXL

    alexXXL Постоялец

    Регистр.:
    7 май 2012
    Сообщения:
    123
    Симпатии:
    8
    Такое в принципе не будет работать, т.к в поле "формула" не должно быть пробелов в выражении. На джумлафоруме встречал варианты, где перед html-формой был вставлен джаваскрипт. Видимо и здесь нужен такой же подход, только я в джава полный ноль)))
     
  5. imchotep

    imchotep Создатель

    Регистр.:
    9 май 2012
    Сообщения:
    19
    Симпатии:
    5
    Не знаю актуально ли, но столкнулся с такой же проблемой. Формула моя сложнее.
    Вот кусок кода для формы:
    HTML:
    <script language="javascript">
    function minus(obj)
    {
      val = parseInt(document.forms['calcForm'].elements[obj].value);
      if (val>0){
        val--;
        document.forms['calcForm'].elements[obj].value=val;
        document.forms['calcForm'].elements[obj].fireEvent('change');
      }
    }
    function plus(obj)
    {
      val = parseInt(document.forms['calcForm'].elements[obj].value);
      val++;
      document.forms['calcForm'].elements[obj].value=val;
      document.forms['calcForm'].elements[obj].fireEvent('change');
    }
     
    </script>
     
    <table width="600" border="0" style="margin: auto">
      <tr>
        <td width="50%" style="text-align: left; vertical-align: top">Высота символа</td>
        <td style="text-align: center; vertical-align: top">
        <table border="0" cellpadding="0" cellspacing="0" align="center">
            <tbody><tr><td rowspan="2" width="12"><input name="rs" size="2" class="validate['required','digit[5,50]']" value="0" style="text-align: center;"  type="text" align="middle"></td>
            <td width="25"><input value="&#9650;" ondblclick="plus('rs')" onclick="plus('rs')" style="font-size: 4pt; width: 17px;" type="button"></td></tr>
            <tr><td><input value="&#9660;" onclick="minus('rs')" ondblclick="minus('rs')" style="font-size: 4pt; width: 17px;" type="button"></td></tr>
          </tbody></table>
          </td>
      </tr>
     
    </table>
     
     
    Итого: {res} руб.
    В поле формул вбита такая формула:
    Код:
    res=Math.round(338.942*Math.exp(-1*0.0244*{rs}))
    Верхний скрипт (между тегами <script language="javascript"> и </script>) взят с сайта разработчиков.
     
  6. alexXXL

    alexXXL Постоялец

    Регистр.:
    7 май 2012
    Сообщения:
    123
    Симпатии:
    8
    А откуда в скрипт попадает значение document.forms['calcForm'].elements[obj].value ? Что-то я не вижу в вашей форме элемента с таким именем.
     
Статус темы:
Закрыта.