HTML › დამწყები › ფორმების საფუძვლები
ველის წარწერა
ეს თავი CodeQuest Pro-ს ნაწილია
Pro ხსნის სკოლის ყველა კურსს და თამაშის ყველა ლეველს, ვიდეოს და პროექტს. ერთჯერადი გადახდა, გამოწერის გარეშე.
რას ისწავლი
- როგორ დააკავშირო წარწერა ველთან
<label>-ით - ორი გზა:
forდაid, ან ველის<label>-ში ჩასმა - რატომ არ ცვლის
placeholderწარწერას
ტექსტი ველის გვერდით საკმარისი არ არის
წინა თავებში ველების წინ უბრალოდ ტექსტს ვწერდით: „სახელი: “ და ველი. ეკრანზე ყველაფერი გასაგებია. მაგრამ ბრაუზერისთვის ეს ტექსტი და ველი ერთმანეთთან არაფრით არის დაკავშირებული: უბრალოდ ერთმანეთის გვერდით დგანან. ეკრანის წამკითხველი, როცა მომხმარებელი ველზე გადავა, მხოლოდ იტყვის „ტექსტის ველი“, და არ ეცოდინება, რა ჩაწეროს.
ამ პრობლემას <label> ელემენტი აგვარებს: ის წარწერას ველს უკავშირებს.
for და id
ყველაზე გავრცელებული გზა: ველს მიეცი id, წარწერას კი for ატრიბუტი იმავე მნიშვნელობით:
<label for="email">ელფოსტა</label>
<input type="email" id="email" name="email">for="email" ამბობს: „ეს წარწერა ეკუთვნის ელემენტს, რომლის id-ც email-ია“. ახლა სამი რამ ხდება:
- ეკრანის წამკითხველი ველზე გადასვლისას ამბობს: „ელფოსტა, ტექსტის ველი“.
- წარწერაზე დაჭერა კურსორს ველში სვამს. სცადე ქვემოთ!
- ხმით მართვის პროგრამები ველს სახელით პოულობენ: „დააჭირე ელფოსტას“.
id და name ხშირად ერთნაირია, მაგრამ მათი დანიშნულება სხვადასხვაა: id ველს გვერდზე პოულობს (წარწერისთვის, ბმულისთვის, CSS-ისთვის), name კი სერვერს ეუბნება მნიშვნელობის სახელს. გახსოვდეს, id გვერდზე უნიკალურია.
ველი წარწერის შიგნით
მეორე გზა: ველი თვითონ <label>-ის შიგნით ჩასვი. მაშინ for და id აღარ გჭირდება:
<label>
სახელი
<input type="text" name="name">
</label>ორივე გზა სწორია. პირველი უფრო მოქნილია განლაგებისთვის, მეორე უფრო მოკლეა. ზოგი დეველოპერი ორივეს ერთად იყენებს: ველს წარწერაში სვამს და for/id-საც წერს, უფრო ძველი დამხმარე პროგრამებისთვის.
placeholder წარწერა არ არის
გაჩნდება ცდუნება, წარწერა საერთოდ მოაშორო და ველში მხოლოდ placeholder დატოვო: ლამაზად და კომპაქტურად გამოიყურება. მაგრამ ეს ცუდი იდეაა:
- აკრეფისას
placeholderქრება: გრძელ ფორმაში ადვილად დაგავიწყდება, რომელი ველი რისთვის იყო. - მისი ღია ნაცრისფერი ტექსტი ბევრისთვის ძნელად იკითხება.
- ეკრანის წამკითხველები მას ყოველთვის არ აცხადებს.
placeholder მაგალითისთვისაა („მაგ. nino@example.com“), წარწერა კი ყოველთვის <label>-ით.
სცადე თავად
დააჭირე სიტყვას „ელფოსტა“: კურსორი ველში გადავა. მერე დააჭირე სიტყვას „ტელეფონი“: აქ წარწერა დაკავშირებული არ არის. გაასწორე.
ხშირი შეცდომები
forდაidარ ემთხვევა.for="mail"დაid="email"ერთმანეთს ვერ იპოვის. მნიშვნელობები ზუსტად ერთნაირი უნდა იყოს.for-შიname.forველისid-ს ეძებს და არაname-ს.- ორი ველი ერთი
id-ით. წარწერა მხოლოდ პირველს დაუკავშირდება.
სავარჯიშო
ააწყე შესვლის ფორმა ორი ველით: მომხმარებლის სახელი და პაროლი. ორივეს ჰქონდეს <label>, დაკავშირებული for-ით და id-ით, name და required. ბოლოს ღილაკი შესვლა.
💡 მინიშნება
<label for="username"> და <input id="username" name="username">. პაროლი: type="password".
✅ ამოხსნის ნახვა
<form action="/login" method="post">
<p>
<label for="username">მომხმარებლის სახელი</label>
<input type="text" id="username" name="username" required>
</p>
<p>
<label for="password">პაროლი</label>
<input type="password" id="password" name="password" required>
</p>
<button type="submit">შესვლა</button>
</form>მინი-ქვიზი
1როგორ დაუკავშირო <label for="city"> ველს?
for ველის id-ს ეძებს.
2რა ხდება, როცა დაკავშირებულ წარწერაზე აჭერ?
წარწერა ველის „დიდ ღილაკად“ იქცევა.
3რატომ არ შეიძლება placeholder-ით წარწერის ჩანაცვლება?
placeholder მაგალითისთვისაა.
შეჯამება
<label>წარწერას ველს უკავშირებს: წამკითხველი მას აცხადებს, დაჭერით კი ველი აქტიურდება.- დაკავშირება:
for="x"წარწერაზე დაid="x"ველზე, ან ველი<label>-ის შიგნით. idველს გვერდზე პოულობს,nameსერვერს მნიშვნელობის სახელს ეუბნება.placeholderწარწერას არ ცვლის.