V tem vodiču se boste naučili, kako lahko s pomočjo JavaScripta odzovete na spremembe v elementih vnosa spletnih obrazcev. Pomembno je uporabiti ustrezne ročaje dogodkov, da optimizirate uporabniško izkušnjo in zagotovite, da prejmete pravilne vrednosti za nadaljnjo obdelavo. Posebej se bomo osredotočili na dogodka onchange in oninput, da zagotovimo, da se vaši vnosi obdelujejo dinamično in učinkovito.

Pomembne ugotovitve

  • Dogodek onchange se sproži, ko uporabnik zapusti polje za vnos in so bile narejene spremembe.
  • Dogodek oninput se sproži ob vsakem vnosu in omogoča neposredno interakcijo z uporabnikom.
  • Vrednosti, ki jih vrnejo elementi za vnos, so sprva nize in jih je morda treba pretvoriti v pravilni podatkovni tip (npr. prek parseFloat ali valueAsNumber).

Korak za korakom vodnik

Za prikaz teh konceptov bomo prešli skozi različne korake, da se registrirajo dogodki v polju za vnos in delo z podatki.

Korak 1: Nastavitev elementa za vnos

Najprej morate ustvariti preprost element za vnos številke v svoji HTML-datoteki. Oblikujte svoj HTML s poljem za vnos starosti.

Odgovori na spremembe v vhodnih elementih z JavaScriptom

Korak 2: Dodajanje in preizkušanje dogodka onchange

Zdaj bomo dodali ročaj dogodka za dogodek onchange. To storimo tako, da ustvarimo funkcijo, ki se pokliče, ko uporabnik zapusti element za vnos.

Odgovori na spremembe v vhodnih elementih z JavaScriptom

Pomembno je opaziti, da lahko neposredno dostopamo do vpisanih podatkov elementa za vnos ob spremembi vrednosti.

Odgovori na spremembe v vnositeljih s pomočjo JavaScripta

Korak 3: Obdelava vnosa

V tej funkciji lahko vrednost elementa za vnos pridobimo prek dogodkovnega objekta. Dostop do vrednosti naj bo prek event.target.value, da takoj dobite trenutno vrednost.

Odgovi na spremembe v vhodnih elementih z JavaScriptom

Na primer, obstajajo lahko situacije, ko želimo objaviti ali obdelovati vneseno vrednost, vendar jo moramo najprej preveriti. Pri tem so pomembne različne vrste vrednosti, zlasti če želite izvesti numerične izračune.

Odgovori na spremembe v vhodnih elementih z JavaScriptom

Korak 4: Preverjanje tipa vrednosti

Kot ste morda opazili, element za vnos vedno vrne vrednost kot niz. Da se prepričate, da prejmete številko, lahko uporabite pretvorbo tipa. Lahko uporabite parseFloat, da se prepričate, da delate z pravilnim podatkovnim tipom.

Korak 5: Implementacija dogodka oninput

Če potrebujete dinamičen odziv, ko uporabnik vnese nekaj, naj bi metodo oninput uporabili kot dodatek k onchange. To pomeni, da se funkcija kliče neposredno vsakič, ko uporabnik pritisne tipko ali spremeni vrednost.

Odzivajte se na spremembe v vhodnih elementih z JavaScriptom

Korak 6: Primerjava obeh dogodkov

Opazujte razlike med oninput in onchange. oninput se sproži ob vsakem vnosu, medtem ko se onchange sproži samo, ko uporabnik zapusti polje za vnos. To je še posebej uporabno, če želite v realnem času povratne informacije.

Odgovorite na spremembe v vhodnih elementih z JavaScriptom

Korak 7: Delo z različnimi tipi vnosa

Metode, ki jih uporabljate za polje za vnos tipa številka, veljajo tudi za druge tipe, kot so besedilo ali barva. Če uporabljate polje za izbiro barve, boste hitro ugotovili, da je treba uporabo dogodkov prilagoditi tipu polja.

Odgovori na spremembe v vhodnih elementih z JavaScriptom

Povzetek

V tem vadnici ste se naučili, kako uporabljati JavaScript za odzivanje na uporabniške interakcije v poljih za vnos. Spoznali ste delovanje onchange in oninput ter kako pomembno je ustrezno obdelati vhodne vrednosti glede na tip.

Pogosta vprašanja

Kateri dogodki se lahko uporabijo za elemente za vnos?Za elemente za vnos lahko uporabite onchange, oninput, pa tudi druge dogodke, kot so onclick ali specifični dogodki tipkovnice.

Kako pridobim trenutno vrednost polja za vnos?Za pridobitev trenutne vrednosti uporabite event.target.value.

Kdaj se sproži dogodek onchange?Dogodek onchange se sproži, ko uporabnik odstrani fokus iz polja za vnos in naredi spremembe.

Kako zagotovim, da bo vrednost interpretirana kot število?Za pretvorbo niza v število lahko uporabite parseFloat() ali valueAsNumber.

Ali obstajajo razlike med oninput in onchange?Da, oninput se kliče ob vsaki spremembi vrednosti, medtem ko se onchange sproži samo, ko fokus zapusti polje za vnos.