• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

JavaScript - zmiana wartości input

Object Storage Arubacloud
0 głosów
973 wizyt
pytanie zadane 2 stycznia 2020 w JavaScript przez Luckyluck87 Użytkownik (660 p.)

Witam,

Najpierw kod:

https://jsfiddle.net/vm06qt1o/

Mam pole input oraz dwa przyciski : plus i minus. Ma to działać tak że co kliknięcie w plus, wartość (zarówno w polu jak i jego value) ma się zwiększać o 1 i analogicznie w druga stronę przy kliknięciach w minus. No i to działa. Problem pojawia się kiedy wpisze w input jakąś wartość i następnie chcę dalej zmieniać poprzez klikanie przycisków, to już nie działa.

Nie wiem jak sobie z tym poradzić , będę bardzo wdzięczny za pomoc.

edit: atrybut value ulega zmianie ale  input.textContent już nie

2 odpowiedzi

+1 głos
odpowiedź 2 stycznia 2020 przez Tomek Sochacki Ekspert (227,510 p.)
wybrane 2 stycznia 2020 przez Arkadiusz Waluk
 
Najlepsza

a jakbyś zrobił w JS po prostu coś takiego?

const switchMinus = document.querySelector('.minus');
const switchPlus = document.querySelector('.plus');
const input = document.querySelector('.input');

function getCurrentValue() {
  return parseInt(input.value || 0, 10);
}

switchMinus.addEventListener('click', () => input.value = getCurrentValue() - 1);
switchPlus.addEventListener('click', () => input.value = getCurrentValue() + 1);

Pisane na mobile, nie testowałem na jsfiddle bo nie lubię tych narzędzi w wersji mobile, ale wydaje mi się, że powinno to spełnić Twoje założenia. Trzeba by oczywiście ograć jakieś corner case itp.

komentarz 2 stycznia 2020 przez Luckyluck87 Użytkownik (660 p.)
Działa ! Dziękuję bardzo :)
komentarz 2 stycznia 2020 przez Luckyluck87 Użytkownik (660 p.)

@Tomek Sochacki, Nie wiem o co chodzi z tym Corner Case ale kod działa :)

0 głosów
odpowiedź 2 stycznia 2020 przez antypop Mądrala (5,730 p.)

Raz, wywala Ci błąd po kliknięciu:

32 Uncaught ReferenceError: basketSwitchMinus is not defined
    at HTMLSpanElement.<anonymous> (loginbox.html:32)

Może ustaw readonly na tym impucie :P

komentarz 2 stycznia 2020 przez Luckyluck87 Użytkownik (660 p.)
Hm , dziwne , mi błędu nie wywala :)

Podobne pytania

0 głosów
1 odpowiedź 337 wizyt
pytanie zadane 29 grudnia 2018 w JavaScript przez KubaLaska Początkujący (350 p.)
0 głosów
1 odpowiedź 274 wizyt
+1 głos
2 odpowiedzi 1,013 wizyt

92,687 zapytań

141,598 odpowiedzi

320,087 komentarzy

62,048 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...