< Return to Video

ფორმების დამუშავება (ვიდეო ვერსია)

  • 0:01 - 0:05
    ფორმა არის ვებ-გვერდის ინსტრუმენტი,
    რომლითაც იგი უგზავნის ინფორმაციას სერვერს.
  • 0:05 - 0:09
    ხანის აკადემიაზე უსაფრთხოების მიზეზით
  • 0:09 - 0:11
    გვერდებს არ ვაძლევთ სერვერებთან
    დაკავშირების უფლებას.
  • 0:11 - 0:14
    ამიტომ, აქ არ ვასწავლით ფორმებს.
  • 0:14 - 0:17
    მაგრამ ახლა, რადგანაც JavaScript-ს სწავლობ
    გვერდების სამართავად
  • 0:17 - 0:21
    შემიძლია გაჩვენო, როგორ გამოიყენო JavaScript
    ფორმის ელემენტების დასამუშავებლად
  • 0:21 - 0:23
    იმის მაგივრად, რომ გაუგზავნო ისინი სერვერს.
  • 0:23 - 0:28
    აქ ჩავსვი რამდენიმე ფორმა, მაგალითად
    მომხმარებლის სახელისა
  • 0:28 - 0:30
    და ენის გასაგებად.
  • 0:30 - 0:34
    მინდა, რომ გვერდი მომხმარებელს მის
    მშობლიურ ენაზე მიესალმოს,
  • 0:34 - 0:37
    როცა ისინი ამ ღილაკს დააჭერენ.
  • 0:37 - 0:41
    პირველ რიგში, ღილაკის ელემენტი
    უნდა შევინახოთ ცვლადში.
  • 0:41 - 0:49
    მაგალითად:
    `document.getElementById("button")`.
  • 0:49 - 0:53
    შემდეგ უნდა განვსაზღვროთ ფუნქციის
    event listener.
  • 0:53 - 0:58
    `var onButtonClick = function() {`
  • 0:58 - 1:04
    და შემდეგ აქ უნდა მივამაგრებინოთ შეტყობინება
  • 1:04 - 1:09
    `document.getElementById("message")`,
  • 1:09 - 1:11
    გვექნება პატარა საყვარელი შეტყობინება
    `div`.
  • 1:11 - 1:21
    შემდეგ კი უბრალოდ `textContent +=
    "აქ დაკლიკეთ? დიდი მადლობა!"`
  • 1:21 - 1:23
    აი, ასე.
  • 1:23 - 1:29
    დაბოლოს, მესამე ნაბიჯი, ღილაკს უნდა
    დავურთოთ event listener
  • 1:29 - 1:32
    რომელიც გამოიძახებს ფუნქციას, როცა
    ღილაკს დააჭერენ.
  • 1:32 - 1:36
    დავურთოთ: `("click", onButtonClick)`.
  • 1:36 - 1:43
    ახლა დააპაუზე ტუტორილი და შეამოწმე,
    ხომ ისე მუშაობს ყველაფერი, როგორც მოელოდი.
  • 1:43 - 1:48
    ახლა კი ისე გავაკეთოთ, რომ მართლა
    ფორმის შიგთავსზე დაყრდნობით თქვას რამე.
  • 1:48 - 1:53
    როგორ გამოვიყენოთ მომხმარებლის მიერ
    შეყვანილი ინფორმაცია?
  • 1:53 - 1:56
    შევქმნათ ამისთვის ცვლადი.
  • 1:56 - 2:05
    `var name = document.getElementById`,
  • 2:05 - 2:07
    რადგანაც მას აქვს ID
  • 2:07 - 2:11
    მას მივიღებთ აქ.
  • 2:11 - 2:17
    გავაკეთოთ ახალი ხაზი მისალმებისთვის,
    და დავუკავშიროთ მას შევყანილი სახელი
  • 2:17 - 2:23
    გამოვა `var greeting = "Heyaz"`,
    ეს ჩემი საყვარელი მისალმებაა,
  • 2:23 - 2:24
    ` + name`.
  • 2:24 - 2:30
    ახლა გვაქვს ხაზი და კიდევ რაღაც, რაც
    ინახება ამ ცვლადში.
  • 2:30 - 2:39
    ახლა კი, ეს ტექსტი
    ნამდვილი მისალმება უნდა იყოს.
  • 2:39 - 2:42
    აბა, ვნახოთ, ხომ ყველაფერი სწორად გვაქვს
  • 2:42 - 2:45
    ვიპოვეთ, სად შეყვათ სახელი,
    შევქმენით მისალმების ხაზი
  • 2:45 - 2:48
    და დავუკავშირეთ ის ცვლადს.
  • 2:48 - 2:53
    დააპაუზე ტუტორიალი და ნახე,
    თუ მუშაობს ყველაფერი.
  • 2:53 - 2:56
    არც ისე, ჰო?
  • 2:56 - 3:02
    ხედავ შეტყობინებას "Heyaz [object Object]", ან
    "Heyaz object Element"?
  • 3:02 - 3:05
    თუ დავუშვებთ, რომ შენი სახელი არ არის Object
  • 3:05 - 3:08
    იმ შეთხვევაშიც კი, თუ არის
    (რაც მშვენიერია)
  • 3:08 - 3:11
    აქ რაღაც შეცდომაა.
  • 3:11 - 3:14
    უნდა დაგვენახა ის, რაც აქ ჩაწერე,
  • 3:14 - 3:16
    მაგრამ სინამდვილეში მივიღეთ "object".
  • 3:16 - 3:21
    ეს იმას ნიშნავს, რომ ცვლადი "name"
    მიუთითებს ობიექტზე,
  • 3:21 - 3:24
    და არა ხაზზე, რომელზეც გვეგონა, რომ
    მიუთითებდა.
  • 3:24 - 3:27
    შეიძლება, უკვე მიხვდი, როგორ
    გამოასწორო პრობლემა.
  • 3:27 - 3:32
    ცვლადში "name" ჩვენ შევინახეთ
    მთელი ელემენტი-ობიექტი
  • 3:32 - 3:35
    ელემენტი-ობიექტი კი ძალიან დიდი ობიექტია
  • 3:35 - 3:37
    უამრავი ინფორმაციით ელემენტის შესახებ:
  • 3:37 - 3:40
    ყველა მისი ატრიბუტითა და მეთოდით.
  • 3:40 - 3:43
    იმისთვის, რომ გავიგოთ, რა ჩაწერა მომხმარებელმა,
    ელემენტის კონკრეტულ თვისებაზე
  • 3:43 - 3:46
    უნდა გვქონდეს წვდომა: მნიშვნელობაზე.
  • 3:46 - 3:52
    უბრალოდ უნდა დავუმათოთ `.value`
    და ეს გვიშველის.
  • 3:52 - 3:56
    დააპაუზე ტუტორიალი და სცადე კიდევ ერთხელ
  • 3:56 - 3:58
    ახლა გამოვიდა, ჰო ასეა?
  • 3:58 - 4:02
    ეს შეცდომა ძალიან გავრცელებულია, ამიტომ
    ყურადღებით იყავი
  • 4:02 - 4:05
    კიდევ ერთ გავრცელებულ შეცდომას გაჩვენებ
  • 4:05 - 4:14
    ავიღოთ ეს ხაზი და გავიტანოთ იგი
    ფუნქციის გარეთ.
  • 4:14 - 4:23
    დააპაუზე ტუტორიალი, ჩაწერე რამე და
    დააჭირე ღილაკს.
  • 4:23 - 4:26
    თუ ყველაფერი ისე გაფუჭდა,
    როგორც უნდა გაფუჭებულიყო,
  • 4:26 - 4:28
    მაშინ შენი სახლის მაგივრად ცარიელი
    ხაზი უნდა დაგენახა.
  • 4:28 - 4:30
    ხვდები, რატომ?
  • 4:30 - 4:34
    დაფიქრდი იმაზე, როგორ მუშავდება კოდის
    თითოეული ხაზი.
  • 4:34 - 4:37
    ამ კოდში ბრაუზერი ტვირთავს გვერდს
  • 4:37 - 4:40
    და ასრულებს JavaScript-ის ხაზებს
    ერთი მეორეს თანმიმდევრობით.
  • 4:40 - 4:43
    პირველ რიგში, იგი ინახავს ცვლადში
    ღილაკის ელემენტს.
  • 4:43 - 4:47
    შემდეგ ინახავს ცვლადში შეყვანილი
    ელემენტის მნიშვნელობას.
  • 4:47 - 4:50
    მაგრამ ის ინახავს მნიშნველობას,
    როცა გვერდი იტვირთება..
  • 4:50 - 4:52
    მნიშვნელობა კი ამ დროს ცარიელია.
  • 4:52 - 4:56
    შემდეგ იგი განსაზღვრავს ფუნქციას და
    ანიჭებს მას event listener-ს
  • 4:56 - 5:00
    მისი გამოძახების შემდეგ,
    სახელი ისევ იგივე ხაზია,
  • 5:00 - 5:03
    რაც გვერდის ჩატვირთვისას იყო.
  • 5:03 - 5:06
    ამიტომ listener ვერასდროს ვერ გაიგებს,
    რა ჩაწერა მომხმარებელმა ბოლოს.
  • 5:06 - 5:09
    ამიტომ, კოდის ეს ხაზი
  • 5:09 - 5:13
    უნდა იყოს event listener-ის
    ფუნქციის შიგნით,
  • 5:13 - 5:19
    იმისთვის რომ მნიშვნელობა დაფიქსირდეს მაშინ,
    როცა ეს მოვლენა განხორციელდება.
  • 5:19 - 5:22
    ახლა ვნახოთ ენის მნიშვნელობა,
  • 5:22 - 5:24
    უნდა დავწრმუნდეთ, რომ ყველაფერი
    კარგად გაიგე.
  • 5:24 - 5:30
    ენას 'lang' ცვლადში შევინახავ, მოვლენის კონტროლში.
  • 5:32 - 5:35
    რა საშინლად გამოიყურება ვიზუალურად,
  • 5:35 - 5:37
    მოვაწესრიგოდ ყველაფერი
  • 5:37 - 5:39
    აი, ასე.
  • 5:39 - 5:41
    [ბეჭდავს]
  • 5:47 - 5:51
    ალბათ, ამჩნევ, რომ ჩემს ცვლადებს იგივეს
    ვარქმევ, რაც ჩემს ID-ებს
  • 5:51 - 5:55
    მაგრამ ეს მე ვაკეთებ ასე, შენ შეგიძლია
    სხვა სახელები დაარქვა.
  • 5:55 - 6:00
    მინდა, რომ სხვადასხვა შეტყობინება დაინახონ,
    იმაზე დაყრდნობით, თუ რომელი ენა აირჩიეს.
  • 6:00 - 6:04
    მიაქციე ყურადღება, რომ მნიშვნელობა არ
    არის იგივე, რაც მენიუში ჩანს
  • 6:04 - 6:07
    მნიშვნელობა HMTL ატრიბუტია,
  • 6:07 - 6:11
    'lang' უნდა იყოს
    "en", "es", ან "plt"
  • 6:11 - 6:17
    რაც ნიშნავს
    `if (lang === "es")`,
  • 6:17 - 6:24
    მისალმება იქნება "Hola"
  • 6:24 - 6:27
    გავაგრძელოთ და ჩავსვათ ეს მისალმების
    ცვლადი აქ.
  • 6:27 - 6:35
    ანუ 'greeting' იქნება "Hola" + სახელი
  • 6:35 - 6:41
    და თუ 'lang' უდრის "ptl"-ს,
    ანუ Pig Latin-ს,
  • 6:41 - 6:49
    მისალმება იქნება
    "Ello-hey, " + სახელი
  • 6:49 - 6:53
    ინგლისურისთვის კი შეგვიძლია გამოვიყენოთ
    'else'
  • 6:53 - 6:55
    რომელიც უბრალოდ გადმოვიტანე აქ.
  • 6:55 - 6:57
    ესეც ასე.
  • 6:57 - 7:00
    და, თუ გინდა, ბონუს-ამოცანა:
  • 7:00 - 7:04
    სცადე გააკეთო Pig Latin
    სახელების კონვერტერი;
  • 7:04 - 7:08
    იმისთვის, რომ მისალმებაში სახელიც
    Pig Latin ენაზე იყოს.
  • 7:08 - 7:10
    ძალიან მაგარი იქნება.
  • 7:10 - 7:13
    დააპაუზე ახლა ტუტორიალი,
    შეიყვანე სახელი,
  • 7:13 - 7:19
    აირჩიე ენა და ნახე, რა გამოვა.
  • 7:19 - 7:20
    კარგია, არა?
  • 7:20 - 7:25
    ცოტა JavaScript-ისა და ფორმების გამოყენებით
    ბევრი რამის გაკეთება შეგიძლია:
  • 7:25 - 7:27
    სიტყვების თამაშების, რიცხვების თამაშების,
    ისტორიების შექმნა..
  • 7:27 - 7:30
    და თუ ხანის აკედემიის ფარგლებს გარეთ გაქვს სერვერი
  • 7:30 - 7:33
    შეგიძლია გამოიყენო JavaScript მონაცემების
    პირველადი დამუშავებისთვის,
  • 7:33 - 7:35
    სერვერზე გაგზავნამდე.
  • 7:35 - 7:39
    არის კიდევ ბევრი სხვა მოვლენა, რომელიც
    ფორმასთან შეგიძლია აკონტროლო,
  • 7:39 - 7:41
    მაგალიად, კლავიატურის ღილაკის დაჭერა.
  • 7:41 - 7:44
    მთავარია, გახსოვდეს, რომ
    შენ გაინტერესებს მნიშვნელობა
  • 7:44 - 7:47
    და ეს მნიშვნელობა სწორ დროს
    უნდა დაფიქსირდეს.
  • 7:47 - 7:50
    უფრო მეტ პრაქტიკას შემდეგ
    დავალებაში მიიღებ.
  • 7:50 - 7:53
    შემდეგი დავალება ჩემი პირადი ფავორიტია.
Title:
ფორმების დამუშავება (ვიდეო ვერსია)
Description:

more » « less
Video Language:
English
Duration:
07:54

Georgian subtitles

Revisions