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

liczenie znakow w input type text

Object Storage Arubacloud
0 głosów
595 wizyt
pytanie zadane 20 lipca 2016 w JavaScript przez redstar1 Bywalec (2,200 p.)
Mam 5 inputow fieldow

  <td id="inputsParent">
            <input id="1" maxlength="15" onkeyup="count(this,15)" type="text"/>
            <input id="2" maxlength="15" onkeyup="count(this,15)" type="text"/>
            <input id="3" maxlength="15" onkeyup="count(this,15)" type="text"/>
            <input id="4" maxlength="15" onkeyup="count(this,15)" type="text"/>
            <input id="5" maxlength="15" onkeyup="count(this,15)" type="text"/>
        </td>
        
        <td id="spans">
            <span id="s1">15</span>
            <span id="s2">15</span>
            <span id="s3">15</span>
            <span id="s4">15</span>
            <span id="s5">15</span>
        </td>
        oraz w drugiej kolumnie spany z liczbami (musza byc po prawej stronie) napisalem funckje kotra liczy ilosc elementow i w tym spanie podmienia na tyle ile jeszcze moge wpisac problem polega na tym iz jak wpisuje w jednym zmienia sie we wszystkich pieciu a nie tym konkretnym jak byc powinno

const spanId = ["s1","s2","s3","s4","s5"]

function count(field,max)
{
    field.value = field.value.substr(0,max);
    spanId.forEach(id => {
    var x = document.getElementById(id).innerHTML = max - field.value.length;
});
}

czyt ktos moglby mnie oswiecic co zrobilem zle?
komentarz 24 stycznia 2019 przez kryst.4 Początkujący (350 p.)

Źle umieściłeś kod w swoim poście wink

1 odpowiedź

+3 głosów
odpowiedź 20 lipca 2016 przez Programista3 Gaduła (3,390 p.)
wybrane 20 lipca 2016 przez redstar1
 
Najlepsza
Zmienia się we wszystkich pięciu ponieważ używasz forEach (zmienia wartość każdego elementu z id zapisanym w tablicy). Zamiast zmieniać wartości wszystkich zmień tylko tego konkretnego.
komentarz 20 lipca 2016 przez redstar1 Bywalec (2,200 p.)
czyli zwykly for czy mozna zrobic to jakos w forEach?
komentarz 20 lipca 2016 przez Programista3 Gaduła (3,390 p.)
edycja 20 lipca 2016 przez Programista3

Nie potrzebujesz ani for ani forEach. Pętla wykonuje jakieś instrukcje x razy a Ty chcesz zmienić tylko jeden element, nie trzeba niczego powtarzać. Możesz pobrać id elementu w którym nastąpiła zmiana poprzez field.id. Do takiego id (weźmy np. 1) dopisujesz na początku 's' i wychodzi ci id elementu w którym masz zmienić tekst (w tym przypadku s1).

A więc:

1. Wywal tablice i to forEach (są zbędne), zostaw tą linijkę:

field.value = field.value.substr(0,max);

oraz tą:

var x = document.getElementById(id).innerHTML = max - field.value.length;

2. W drugiej z powyższych linijek zmień id na "s"+field.id

 

komentarz 20 lipca 2016 przez redstar1 Bywalec (2,200 p.)
dzieki wielkie za pomoc

Podobne pytania

0 głosów
2 odpowiedzi 361 wizyt
pytanie zadane 11 kwietnia 2021 w HTML i CSS przez Nearr Obywatel (1,890 p.)
0 głosów
1 odpowiedź 150 wizyt
pytanie zadane 16 lutego 2019 w HTML i CSS przez zerakot Obywatel (1,870 p.)

92,576 zapytań

141,426 odpowiedzi

319,650 komentarzy

61,961 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

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!

...