Автор Тема: Не выводится нужный процент при обмене серебра  (Прочитано 614 раз)

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

nikogdaАвтор темы

  • *
  • Оффлайн
  • Награды Более 7 лет на форуме Более 100 сообщений Более 50 созданных тем Топ 10 по созданным темам
  • Дата регистрации: Июль 2016
  • Сообщений: 201
  • Страна: ru
  • Поблагодарили: 4 раз(а)
  • Репутация +0/-0
  • Пол: Мужской
Здравствуйте.
Люди помогите пожалуйста разобраться и отремонтировать неполадку в обменнике.
Создавал аналогичную тему с обменником, но решил добавить в обменник следующую штуку.

В стандартном обменнике с вывода для покупок все работает корректно, например вводишь 1000 сер. и пишет, что мол получите для покупок 1100 сер.

Решил поставить в обменник с вывода на рекламу такую же штуку, чтобы при вводе суммы на 1000 сер. писали - Получаете для рекламы 10 руб. Рекламный счет в рублях, а в самой ФФ игровое серебро.

Но вся проблема в том, что я ввожу 1000 сер. а он пишет - вы получите 1010 руб.

А должно писать не 1010 сер., а что вы получите при обмене 10.1 руб.

Аккуратно и не спеша кликаю на кнопку "Произвести обмен" - с вывода списывается 1000 сер. (тут все как надо), а на рекламный баланс зачисляется 10.1 руб. (тоже все как надо).

Код обменника с вывода на рекламу:
Вот такая штука прописана в php:
      $add_sumadv = ($sonfig_site["percentadv_swap"] > 0) ? ( ($sonfig_site["percentadv_swap"] / 100) * $sumadv) + $sumadv : $sumadv;
      $add_sumadv = $add_sumadv/100;

И html
<form action="" method="post">
<table width="270" border="0" align="center">
  <tr>
    <td><span style="color: #616161;font-weight: 400;">Отдаете серебро для вывода</span> <span style="color: #EF6C00;font-weight: 400;">(мин. 1000):</span></td>
    <td>
      <input type="text" class="lakk" name="sumadv" id="sumadv" value="1000" onkeyup="GetSumPerAdv();" style="margin:0px; width:80px;"/></td>
  </tr>
   <tr>
    <td><span style="color: #616161;font-weight: 400;">Получаете серебро для рекламы</span> <span style="color: #EF6C00;font-weight: 400;">(+<?=$sonfig_site["percentadv_swap"]; ?>%):</span> </td>
    <td style="height: 30px;width: 80px;background-color: #FFE082;text-align: center;"><span id="res_sumadv" name="res" style="font-weight: 600;">0.00</span>
      <input type="hidden" name="per" id="percentadv" value="<?=$sonfig_site["percentadv_swap"]; ?>" disabled="disabled"/></td>
  </tr>

  <tr>
    <td colspan="2" align="center"><input type="submit" value="Обменять" style="height: 30px; margin: 20px 0px -10px 0px;" class="sm-btn"></td>
  </tr>
</table>
</form>

На всякий случай с вывода на покупки:

<form action="" method="post">
<table width="270" border="0" align="center">
  <tr>
    <td><span style="color: #616161;font-weight: 400;">Отдаете серебро для вывода</span> <span style="color: #EF6C00;font-weight: 400;">(мин. 1 000):</span></td>
    <td>
      <input type="text" class="lakk" name="sum" id="sum" value="1000" onkeyup="GetSumPer();" style="margin:0px; width:80px;"/></td>
  </tr>
   <tr>
    <td><span style="color: #616161;font-weight: 400;">Получаете  для покупок</span> <span style="color: #EF6C00;font-weight: 400;">(+<?=$sonfig_site["percent_swap"]; ?>%):</span> </td>
    <td style="height: 30px;width: 80px;background-color: #FFE082;text-align: center;"><span id="res_sum" name="res" style="font-weight: 600;">0.00</span>
      <input type="hidden" name="per" id="percent" value="<?=$sonfig_site["percent_swap"]; ?>" disabled="disabled"/></td>
  </tr>

  <tr>
    <td colspan="2" align="center"><input type="submit" value="Обменять" style="height: 30px; margin: 20px 0px -10px 0px;" class="sm-btn"></td>
  </tr>
</table>
</form>

</div>
<script language="javascript">GetSumPer();</script>
 

whoohaw

  • *
  • *
  • Оффлайн
  • Награды Более 6 лет на форуме !!! За помощь пользователям Более 250 сообщений За финансовую помощь форуму !!! Репутация более 15 За время в онлайне на форуме Более 10 созданных тем
  • Дата регистрации: Апр. 2018
  • Расположение: Тверь
  • Возраст: 35
  • Сообщений: 320
  • Страна: ru
  • Поблагодарили: 27 раз(а)
  • Репутация +17/-1
  • Пол: Мужской
  • Дата рождения:
    1988-09-21
    Социальные сети:
    ВКонтакте
Эта задача решается в JS-коде. Я вижу, что ты добавил новую функцию, и обозвал ее как GetSumPerAdv()
Но вопрос в том, что кроется в этой функции? В стандарт ФФ ее описание лежит в JS/ директории, если не ошибаюсь в файле functions.js

Как там добавлена эта функция? Как она обрабатывает аргументы и параметры?
 

nikogdaАвтор темы

  • *
  • Оффлайн
  • Награды Более 7 лет на форуме Более 100 сообщений Более 50 созданных тем Топ 10 по созданным темам
  • Дата регистрации: Июль 2016
  • Сообщений: 201
  • Страна: ru
  • Поблагодарили: 4 раз(а)
  • Репутация +0/-0
  • Пол: Мужской
Эта задача решается в JS-коде. Я вижу, что ты добавил новую функцию, и обозвал ее как GetSumPerAdv()
Но вопрос в том, что кроется в этой функции? В стандарт ФФ ее описание лежит в JS/ директории, если не ошибаюсь в файле functions.js

Как там добавлена эта функция? Как она обрабатывает аргументы и параметры?

Вот из этого файла код:
/////////Обмен для рекламы/////////
function GetSumPerAdv(){
   
   var sum = parseInt(document.getElementById("sumadv").value);
   var percent = parseInt(document.getElementById("percentadv").value);
   var add_sum = 0;
   
   if(sum > 0){
      
      if(percent > 0){
         add_sum = (percent / 100) * sum;
      }
      
      document.getElementById("res_sumadv").innerHTML = Math.round(sum+add_sum);
   }
   
}
 

whoohaw

  • *
  • *
  • Оффлайн
  • Награды Более 6 лет на форуме !!! За помощь пользователям Более 250 сообщений За финансовую помощь форуму !!! Репутация более 15 За время в онлайне на форуме Более 10 созданных тем
  • Дата регистрации: Апр. 2018
  • Расположение: Тверь
  • Возраст: 35
  • Сообщений: 320
  • Страна: ru
  • Поблагодарили: 27 раз(а)
  • Репутация +17/-1
  • Пол: Мужской
  • Дата рождения:
    1988-09-21
    Социальные сети:
    ВКонтакте
Если правильно понял задумку, то надо попробовать так:
function GetSumPerAdv(){
   
   var sum2 = parseInt(document.getElementById("sumadv").value);
   var sum=sum2/100;
   var percent = parseInt(document.getElementById("percentadv").value);
   var add_sum = 0;
   
   if(sum > 0){
     
      if(percent > 0){
         add_sum = (percent / 100) * sum;
      }
     
      document.getElementById("res_sumadv").innerHTML = Math.round(sum+add_sum);
   }
   
}
 

nikogdaАвтор темы

  • *
  • Оффлайн
  • Награды Более 7 лет на форуме Более 100 сообщений Более 50 созданных тем Топ 10 по созданным темам
  • Дата регистрации: Июль 2016
  • Сообщений: 201
  • Страна: ru
  • Поблагодарили: 4 раз(а)
  • Репутация +0/-0
  • Пол: Мужской
Если правильно понял задумку, то надо попробовать так:
Код: [Выделить]
function GetSumPerAdv(){
   
   var sum2 = parseInt(document.getElementById("sumadv").value);
   var sum=sum2/100;
   var percent = parseInt(document.getElementById("percentadv").value);
   var add_sum = 0;
   
   if(sum > 0){
     
      if(percent > 0){
         add_sum = (percent / 100) * sum;
      }
     
      document.getElementById("res_sumadv").innerHTML = Math.round(sum+add_sum);
   }
   
}

Не работает(
Мне кажется полно ошибок в коде обменника с вывода на рекламу. Что-то я намудрил видимо...
  :flud:
Если правильно понял задумку, то надо попробовать так:
Код: [Выделить]
function GetSumPerAdv(){
   
   var sum2 = parseInt(document.getElementById("sumadv").value);
   var sum=sum2/100;
   var percent = parseInt(document.getElementById("percentadv").value);
   var add_sum = 0;
   
   if(sum > 0){
     
      if(percent > 0){
         add_sum = (percent / 100) * sum;
      }
     
      document.getElementById("res_sumadv").innerHTML = Math.round(sum+add_sum);


Извиняюсь. Все заработало. Нужно было нажать ctrl+F5 оказывается. Теперь отображается все как надо.
Спасибо огромное за помощь в такой не простой сложной ситуации.
 
Теги: