Advertisement
555oya

Untitled

Nov 1st, 2019
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 5 5.68 KB | None | 0 0
  1.  
  2. <!DOCTYPE html>
  3. <html lang="ru">
  4. <head>
  5.  
  6.     <title>Магазин</title>
  7.  
  8.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  9.     <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  10.     <link rel="stylesheet" href="bootstrap.min.css" >
  11.     <script src="jquery-3.4.1.min.js"></script>
  12.  
  13. </head>
  14. <body>
  15.  
  16.     <div class="container">
  17.  
  18.         <div class="row">
  19.             <div class="col-md-12">
  20.                 <h1 class="text-center">Лабораторная работа 4</h1>
  21.             </div>
  22.         </div>
  23.  
  24.         <div class="row">
  25.             <div class="col-md-12">
  26.                 <h5>Каталог</h5>
  27.             </div>
  28.         </div>
  29.  
  30.         <div class="row">
  31.             <div class="col-md-12 table-responsive-md table-hover">
  32.                 <table class="table">
  33.                     <thead class="thead-dark">
  34.                         <tr>
  35.                             <th scope="col">Наименование</th>
  36.                             <th scope="col">Артикул</th>
  37.                             <th scope="col">Цена</th>
  38.                         </tr>
  39.                     </thead>
  40.                     <tbody class="border" id="catalogue">
  41.                         <tr>
  42.                             <td>Краски акварель "Сонет" набор 24 цв.</td>
  43.                             <td>3541139</td>
  44.                             <td>686</td>
  45.                         </tr>
  46.                         <tr>
  47.                             <td>Краски гуашь "Мастер Класс" набор 16 цв. 20 мл ассорти</td>
  48.                             <td>1741092</td>
  49.                             <td>583</td>
  50.                         </tr>
  51.                         <tr>
  52.                             <td>Краски темпера "Мастер Класс" № 1 12 цв. 18 мл</td>
  53.                             <td>1641007</td>
  54.                             <td>1659</td>
  55.                         </tr>
  56.                     </tbody>
  57.                 </table>
  58.             </div>
  59.         </div>
  60.  
  61.         <form>
  62.             <h5>Добавить товар в каталог</h5>
  63.             <div class="form-group row">
  64.                 <div class="col">
  65.                     <input type="text" class="form-control" placeholder="Наименование" id="name" autocomplete="off">
  66.                 </div>
  67.                 <div class="col">
  68.                     <input type="text" class="form-control inptctrl" placeholder="Артикул" maxlength="7" id="art" autocomplete="off">
  69.                 </div>
  70.                 <div class="col">
  71.                     <input type="text" class="form-control inptctrl" placeholder="Цена" id="price" autocomplete="off">
  72.                 </div>
  73.             </div>
  74.             <div class="row">
  75.                 <div class="col">
  76.                     <button type="button" class="btn btn-primary" id="btn">Добавить</button>
  77.                 </div>
  78.             </div>
  79.         </form>
  80.         <br>
  81.         <div class="row">
  82.             <div class="col-md-12">
  83.                 <h5>Корзина</h5>
  84.             </div>
  85.         </div>
  86.  
  87.         <div class="row">
  88.             <div class="col-md-12 table-responsive-md table-hover">
  89.                 <table class="table" >
  90.                     <thead class="thead-dark">
  91.                         <tr>
  92.                             <th scope="col">Наименование</th>
  93.                             <th scope="col">Артикул</th>
  94.                             <th scope="col">Цена</th>
  95.                         </tr>
  96.                     </thead>
  97.                     <tbody class="border" id="cart">
  98.                         <tr>
  99.                             <th scope="col">Сумма заказа</th>
  100.                             <th scope="col"></th>
  101.                             <th scope="col" id="sum">0</th>
  102.                         </tr>
  103.                     </tbody>
  104.                 </table>
  105.             </div>
  106.         </div>
  107.  
  108.     </div>
  109.  
  110.     <script>
  111.         function addRowHandlers() {
  112.             var table = document.getElementById("catalogue");
  113.             var table2 = document.getElementById("cart");
  114.             var rows = table.getElementsByTagName("tr");
  115.             for (i = 0; i < rows.length; i++) {
  116.                 var currentRow = table.rows[i];
  117.                 var createClickHandler =
  118.                 function(row)
  119.                 {
  120.                     return function() {
  121.                         function addProducts() {
  122.                             var row1 = table2.insertRow(0);
  123.                             var cell1 = row1.insertCell(0);
  124.                             var cell2 = row1.insertCell(1);
  125.                             var cell3 = row1.insertCell(2);
  126.                             var x = cell11.innerHTML;
  127.                             var y = cell22.innerHTML;
  128.                             var z = cell33.innerHTML;
  129.                             cell1.innerHTML = x;
  130.                             cell2.innerHTML = y;
  131.                             cell3.innerHTML = z;
  132.                             return false;
  133.                         }
  134.                         function sumUp() {
  135.                             var tables = document.getElementById("cart"), sumVal = 0;
  136.                             for(var i = 0; i < (tables.rows.length - 1); i++) {
  137.                                 sumVal = sumVal + parseInt(tables.rows[i].cells[2].innerHTML);
  138.                             }
  139.                             document.getElementById("sum").innerHTML = sumVal;
  140.                         }
  141.                         var cell11 = row.getElementsByTagName("td")[0];
  142.                         var cell22 = row.getElementsByTagName("td")[1];
  143.                         var cell33 = row.getElementsByTagName("td")[2];
  144.                         var id = cell11.innerHTML;
  145.                         addProducts();
  146.                         sumUp();
  147.                     };
  148.                 };
  149.  
  150.                 currentRow.onclick = createClickHandler(currentRow);
  151.             }
  152.         }
  153.         window.onload = addRowHandlers();
  154.         const btn = document.getElementById("btn");
  155.         btn.addEventListener("click", addProduct);
  156.         btn.addEventListener("click", addRowHandlers);
  157.         function addProduct() {
  158.             var table = document.getElementById("catalogue");
  159.             var flag = true;
  160.             var x = document.getElementById("name").value;
  161.             var y = document.getElementById("art").value;
  162.             var z = document.getElementById("price").value;
  163.             for (var i=0; i<(table.rows.length - 1); i++){
  164.                 var double = table.rows[i].cells[0].innerHTML;
  165.                 if ((double == x)||(x == "")||(y == "")||(z == "")) {
  166.                     var realdouble = double;
  167.                     flag = false;
  168.                 }
  169.             }
  170.             if (flag) {
  171.                 var row = table.insertRow(0);
  172.                 var cell1 = row.insertCell(0);
  173.                 var cell2 = row.insertCell(1);
  174.                 var cell3 = row.insertCell(2);
  175.                 document.getElementById("name").value = "";
  176.                 document.getElementById("art").value = "";
  177.                 document.getElementById("price").value = "";
  178.                 cell1.innerHTML = x;
  179.                 cell2.innerHTML = y;
  180.                 cell3.innerHTML = z;
  181.             } else if (x == realdouble){
  182.                 alert("Такой товар уже есть");
  183.             } else if ((x == "")||(y == "")||(z == "")) {
  184.                 alert("Пожалуйста, заполните все поля");
  185.             }
  186.             return false;
  187.         }
  188.        
  189.         $('.inptctrl').keyup(function () {
  190.             if (!this.value.match(/^^[0-9]$/)) {
  191.                 this.value = this.value.replace(/[^0-9]/g, '');
  192.             }
  193.         });
  194.     </script>
  195.    
  196. </body>
  197. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement