Reklama
Pokazuje wyniki od 1 do 4 z 4

Temat: Javascript problem z tabelą

  1. #1
    Avatar Mikol_92
    Data rejestracji
    2006
    Wiek
    31
    Posty
    125
    Siła reputacji
    18

    Domyślny Javascript problem z tabelą

    Hej, mój kod generuje tabele w zależności od tego czy wpisaliśmy poprawny numer produktu. Chciałbym, żeby działało to tak; Jeżeli wpiszę jeszcze raz ten sam numer produktu, js nie dodaje nowego wiersza w tabeli tylko zwiększa ilość o 1. Próbowałem na różne sposoby, ale nic nie działało, nie wiem jak się do tego zabrać...

    Kod:
    <!DOCTYPE html>
    {% load static %}
    <html lang="pl">
    <head>
      <meta charset="UTF-8">
      <title>Program Kasowy</title>
    
        <link rel="stylesheet" type="text/css" href="{% static 'panel/cash-register.css' %}" />
    
      
    </head>
    <body>
      <div id="register">
      <div id="ticket">
        <h1>Kasa</h1>
                <table>
                    <tbody id="entries">
                        <tr><td>PLU</td><td>Nazwa</td><td>Ilość</td><td>Cena</td></tr>
                    </tbody>
                    <tfoot>
                        <tr>
                            <th></th>
                            <th>Suma</th>
                            <th id="total">0.00 zł</th>
                        </tr>
                    </tfoot>
                </table>
      </div>
      <form id="entry">
        <input id="newEntry" autofocus placeholder="PLU">
      </form>
          <form method="post">
              {% csrf_token %}
              <button type="submit">Zapisz</button>
              <input title="PLU" type="text" id="allplu" name="plulist" value="" style="visibility: hidden">
          </form>
    </div>
      
        <script>
            var total = 0;
            var price = 0;
            var productsJSONList = (("{{products_json}}").replace(/&(l|g|quo)t;/g, function(a,b){
                return {
                    l   : '<',
                    g   : '>',
                    quo : '"'
                }[b];
            }));
            var prod = JSON.parse(productsJSONList);
    
    
            document.getElementById('entry').addEventListener('submit', enter);
            function enter(event) {
                event.preventDefault();
                var entry = document.getElementById('newEntry').value;
                for (var i = 0; prod.length; i++) {
                    var obj = prod[i];
                    if (obj[0].toString() === entry.toString()) {
                        price = parseFloat(obj[2]);
    
                        currency = currencyFormat(price);
                        document.getElementById('entries').innerHTML += '<tr><td>' + obj[0] + '</td><td>' + obj[1] + '</td>' + '<td></td>' + '<td>' + currency + '</td></tr>';
                        document.getElementById('allplu').value += obj[0] +',';
                        total += price;
                        document.getElementById('total').innerHTML = currencyFormat(total);
    
                        document.getElementById('newEntry').value = '';
                        return false;
                    } else {
                        document.getElementById('newEntry').value = '';
                    }
                }
            }
    
    
            function currencyFormat(number) {
                var currency = parseFloat(number);
                currency = currency.toFixed(2);
                currency = currency + ' zł';
                return currency;
            }
        </script>
    <div>{{ products_json }}</div>
    </body>
    </html>

  2. #2
    Avatar KrystianeK
    Data rejestracji
    2005
    Położenie
    .
    Wiek
    33
    Posty
    1,147
    Siła reputacji
    19

    Domyślny

    Spróbuj umieścić to tutaj: https://jsfiddle.net/. Łatwiej będzie to zdebuggować i coś podpowiedzieć.
    Istnieje różnica między znajomością drogi, a podążaniem nią.

  3. Reklama
  4. #3
    Avatar Mikol_92
    Data rejestracji
    2006
    Wiek
    31
    Posty
    125
    Siła reputacji
    18

    Domyślny

    Próbowałem, ale cały czas wywala jakieś bugi

  5. #4
    Avatar Mikol_92
    Data rejestracji
    2006
    Wiek
    31
    Posty
    125
    Siła reputacji
    18

    Domyślny

    Zmiana koncepcji, chcę poprostu dodać pole ilość, jednak, jak w <form> dodaje nowy input to wyświetla się on i można pisać, jednak enter którym wbijałem PLU nie działa ani na jednym ani na drugim polu.

    @edit
    Poradziłem sobie dodając w formularzu razem z inputem ilości:
    Kod:
    <input type="submit" value="submit" style="visibility: hidden;">
    Do zamknięcia
    Ostatnio zmieniony przez Mikol_92 : 12-12-2017, 01:32

Reklama

Informacje o temacie

Użytkownicy przeglądający temat

Aktualnie 1 użytkowników przegląda ten temat. (0 użytkowników i 1 gości)

Podobne tematy

  1. tabela html
    Przez Asyria w dziale Skrypty i technika
    Odpowiedzi: 10
    Ostatni post: 16-09-2020, 08:52
  2. Word-przemieszczająca się tabela
    Przez Katalonczyk w dziale Sprzęt i oprogramowanie
    Odpowiedzi: 0
    Ostatni post: 30-05-2017, 11:41
  3. C++ tabela - Pomocy !!!
    Przez SowLox w dziale Programowanie
    Odpowiedzi: 10
    Ostatni post: 21-09-2014, 23:25
  4. Potrzebny ktos kto ogarnia JavaScript.
    Przez Yakuza w dziale Programowanie
    Odpowiedzi: 0
    Ostatni post: 16-08-2013, 00:07
  5. MS - Tabela Expa :)
    Przez Rodenos w dziale Tibia
    Odpowiedzi: 6
    Ostatni post: 28-12-2012, 04:13

Zakładki

Zakładki

Zasady postowania

  • Nie możesz pisać nowych tematów
  • Nie możesz pisać postów
  • Nie możesz używać załączników
  • Nie możesz edytować swoich postów
  •