Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Допилить калькулятор

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
mirstiker
Отправлено: 18 Августа, 2015 - 19:05:44
Post Id



Новичок


Покинул форум
Сообщений всего: 32
Дата рег-ции: Апр. 2015  


Помог: 0 раз(а)




Всем привет! помогите,пожалуйста со скриптом.

Есть калькулятор с вводом данный (Ш X В ) = стоимость,при вводе ширины автоматически подставляется высота,хочется убрать такую возможность и перевести оба варианта в ручной набор. Калькулятор основан на js + форма html приведу код ниже:

CODE (htmlphp):
скопировать код в буфер обмена
  1. [code=javascript]               <script type='text/javascript'>
  2.                 $(document).ready(function(){
  3.                
  4.                        
  5.                         var price;
  6.                         $('input:radio').on('click',function(){
  7.                                         if($(this).val() == '786')
  8.                                         {
  9.                                         $('#user_price').html('0');
  10.                                        
  11.                                         $('.inp').val('');
  12.                                         $('.inpRes').val('');
  13.                                         price = $(this).val();
  14.                                         $('.price').html(Number(price));
  15.                                        
  16.                                         $('.temp').on('keyup',function(){
  17.                                 var cols;
  18.                                 var first = Number($('.temp').val());
  19.                                 var second = Number($('.inp0').val());
  20.                                 cols = first*second;
  21.                                 $('.price').html(Number(cols));
  22.                         });
  23.                                         }
  24.                                         if($(this).val() == '1183')
  25.                                         {
  26.                                                 $('#user_price').html('0');
  27.                                                 $('.inp').val('');
  28.                                                 $('.inpRes').val('');
  29.                                                 price = $(this).val();
  30.                                                 $('.price').html(Number(price));
  31.                                                 $('.temp').on('keyup',function(){
  32.                                 var cols;
  33.                                 var first = Number($('.temp').val());
  34.                                 var second = Number($('.inp1').val());
  35.                                 cols = first*second;
  36.                                 $('.price').html(Number(cols));
  37.                         });
  38.                                         }
  39.                                         if($(this).val() == '-1')
  40.                                         {
  41.                                                
  42.                                                 $('.inp').val('');
  43.                                                 $('.inpRes').val('');
  44.                                                 $('.price').html(Number('0'));
  45.                                                
  46.                                 $('.temp').on('keyup',function(){
  47.                                 var cols;
  48.                                
  49.                                
  50.                                
  51.                                
  52.                                 var first = Number($('.temp').val());
  53.                                 var second = Number($('#user_price').html());
  54.                                 cols = first*second;
  55.                                 $('.price').html(Number(cols));
  56.                                
  57.                                
  58.                                
  59.                         });            
  60.                                                
  61.                                                 $('.inp').on('keyup',function(){
  62.                                                 if(Number($('.inp').val())<100000)
  63.                                                 {
  64.                                                        
  65.                                                         var defWidth=Number(55);
  66.                                                 var defHeight=Number(45);
  67.                                                 var value2,value1;
  68.                                                         value1 = Number($('.inp').val());
  69.                                                         value2 = value1*defHeight/defWidth;
  70.                                                         value2 = value2.toFixed(1);
  71.                                                         //price = Number($('.inp').val());
  72.                                                         //$('.price').html(price);
  73.                                                         $('.inpRes').val(value2);
  74.                                                        
  75.                                                         if(Number(value2)>0)
  76.                                                         {
  77.                                                                 var valueSq=value1*value2/10000;
  78.                                                                 if(valueSq>0.5)
  79.                                                                 var price=(valueSq*600+149)*2;
  80.                                                                 else
  81.                                                                 price=(valueSq*600+149)*2.5;
  82.                                                                  //price=price*1.3;
  83.                                                                 var price1=price.toFixed();
  84.                                                                 //округляем вверх
  85.                                                                 var price2=price.toFixed();
  86.                                                                 if(price1-price2<0) price1+=10;
  87.                                                                
  88.                                                                 $('#user_price').html(Number(price1));
  89.                                                                 $('.price').html(Number(price1));
  90.                                                         }
  91.                                                         else
  92.                                                         {
  93.                                                          $('#user_price').html(Number(0));
  94.                                                          $('.price').html(0);
  95.                                                         }
  96.                                                 }
  97.                                                 else
  98.                                                 {
  99.                                                        
  100.                                                         $('.price').html('NaN');
  101.                                                 }
  102.                                                 });
  103.                                                
  104.                                                 $('.inpRes').on('keyup',function(){
  105.                                                 if(Number($('.inpRes').val())<100000)
  106.                                                 {
  107.                                                        
  108.                                                         var defWidth=Number(55);
  109.                                                 var defHeight=Number(45);
  110.                                                 var value2,value1;
  111.                                                         value1 = Number($('.inpRes').val());
  112.                                                         value2 = value1*defWidth/defHeight;
  113.                                                         value2 = value2.toFixed(1);
  114.                                                         //price = Number($('.inp').val());
  115.                                                         //$('.price').html(price);
  116.                                                         $('.inp').val(value2);
  117.                                                        
  118.                                                         if(Number(value2)>0)
  119.                                                         {
  120.                                                                 var valueSq=value1*value2/10000;
  121.                                                                 if(valueSq>0.5)
  122.                                                                 var price=(valueSq*600+149)*2;
  123.                                                                 else
  124.                                                                 price=(valueSq*600+149)*2.5;
  125.                                                                 //if(st=='two') price=price*1.3;
  126.                                                                 var price1=price.toFixed();
  127.                                                                 //округляем вверх
  128.                                                                 var price2=price.toFixed();
  129.                                                                 if(price1-price2<0) price1+=10;
  130.                                                                
  131.                                                                 $('#user_price').html(Number(price1));
  132.                                                                 $('.price').html(Number(price1));
  133.                                                         }
  134.                                                         else
  135.                                                         {
  136.                                                          $('#user_price').html(Number(0));
  137.                                                          $('.price').html(0);
  138.                                                         }
  139.                                                 }
  140.                                                 else
  141.                                                 {
  142.                                                        
  143.                                                         $('.price').html('NaN');
  144.                                                 }
  145.                                                 });
  146.                                         }
  147.                                        
  148.                                
  149.                        
  150.                                
  151.                         });
  152.                 });
  153.         </script>
[/code]

Форма HTML:

CODE (htmlphp):
скопировать код в буфер обмена
  1. [code=html]  
  2.                       <form id="f" name="f" action="/" method="post" enctype="multipart/form-data">
  3.                         <div class="rowDiv top1">
  4.                          
  5.                         </div>
  6.                         <div class="rowDiv">
  7.                         <h3>Размер:</h3>
  8.                      
  9.                
  10.                           <p>
  11.                             <input type="radio" name="P" id="cb2" value="-1" class="inp2">
  12.                             <input type="text" id="user_width" name="user_width" class="text inp"  >
  13.                              х
  14.                             <input type="text" id="user_height" name="user_height" class="text inpRes"  >
  15.                              см -
  16.                             <span id="user_price">0</span>
  17.                              руб
  18.                           </p>
  19.                         </div>
  20.                         <div class="rowDiv">
  21.                           <div class="pos_count">
  22.                             <h3>Количество:</h3>
  23.                             <p>
  24.                               <input type="text" id="num" name="num" class="text temp" value="1">
  25.                                шт
  26.                             </p>
  27.                           </div>
  28.                           <div class="pos_amount">
  29.                             <h3>Стоимость:</h3>
  30.                             <p>
  31.                               <span class='price'>0</span>
  32.                                 руб
  33.                             </p>
  34.                           </div>
  35.                         </div>
  36.                         <div class="clear_r"></div>
  37.                         <input type="button" class="but_160" value="КУПИТЬ" onclick="add_basket(1,313);" id="btn_basket" style="margin-right: 30px;">
  38.                         <!--<a href="#" id="a_wishlist_313" onclick="add_wishlist(313); return false;" title="Добавить в список желаний"><img src="/images/add_wishlist2.gif" alt="Добавить в список желаний" id="img_wishlist_313"  /></a>-->
  39.                       </form>
  40.              
[/code]

(Отредактировано автором: 18 Августа, 2015 - 19:07:16)

 
 Top
Строитель Модератор
Отправлено: 19 Августа, 2015 - 14:34:18
Post Id



Участник


Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 74 раз(а)




mirstiker, я не стал копаться в Вашем коде, а набросал пример на PHP без js. Думаю, на основе этого примера Вы сможете решить свою задачу

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. $width = isset($_POST['width']) ? (int)trim(htmlspecialchars($_POST['width'])) : 0;
  5. $height = isset($_POST['height']) ? (int)trim(htmlspecialchars($_POST['height'])) : 0;
  6. $cost = isset($_POST['cost']) ? (int)trim(htmlspecialchars($_POST['cost'])) : 0;
  7.  
  8. function calculator($width, $height, $cost) {
  9.     $sum = $width * $height;
  10.     $result = $sum * $cost;
  11.     return $result;
  12. }
  13.  
  14. ?>
  15. <form action="calc.php" method="post">
  16.     Ширина:    <input type="text" name="width" />    Высота:    <input type="text" name="height" />    Стоимость:    <input type="text" name="cost" />    <input type="submit" value="Расчитать" />
  17. </form>
  18. <?=calculator($width, $height, $cost)?>
  19.  
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB