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

JavaScript - zmiana wartości input

Aruba Cloud - Virtual Private Server VPS
0 głosów
1,174 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,490 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ź 439 wizyt
pytanie zadane 29 grudnia 2018 w JavaScript przez KubaLaska Początkujący (350 p.)
0 głosów
1 odpowiedź 312 wizyt
+1 głos
2 odpowiedzi 1,279 wizyt

93,264 zapytań

142,260 odpowiedzi

322,234 komentarzy

62,582 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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...