All language subtitles for 061 Multiple Inputs.en_US

af Afrikaans
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bn Bengali
bs Bosnian
bg Bulgarian
ca Catalan
ceb Cebuano
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
tl Filipino
fi Finnish
fr French
fy Frisian
gl Galician
ka Georgian
de German
el Greek
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
km Khmer
ko Korean
ku Kurdish (Kurmanji)
ky Kyrgyz
lo Lao
la Latin
lv Latvian
lt Lithuanian
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mn Mongolian
my Myanmar (Burmese)
ne Nepali
no Norwegian
ps Pashto
fa Persian
pl Polish
pt Portuguese
pa Punjabi
ro Romanian Download
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
st Sesotho
sn Shona
sd Sindhi
si Sinhala
sk Slovak
sl Slovenian
so Somali
es Spanish
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
te Telugu
th Thai
tr Turkish
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
or Odia (Oriya)
rw Kinyarwanda
tk Turkmen
tt Tatar
ug Uyghur
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 00:00:00,150 --> 00:00:00,850 Beautiful job. 2 00:00:00,870 --> 00:00:08,010 Now we know how we can use our controlled inputs with our list and next hour want to showcase how we 3 00:00:08,010 --> 00:00:13,310 can have multiple inputs with the same on change handler. 4 00:00:13,830 --> 00:00:21,480 Now, the use case that I'm trying to showcase is the one with many, many, many, many inputs on my 5 00:00:21,480 --> 00:00:21,740 case. 6 00:00:21,750 --> 00:00:25,560 I'm just going to add one more to our current setup. 7 00:00:25,950 --> 00:00:33,120 But keep in mind that the whole idea is to show you what if you would have, I don't know, 10 inputs 8 00:00:33,360 --> 00:00:40,740 and you don't want to have ten different state values and 10 different functions that you're calling 9 00:00:40,980 --> 00:00:42,550 inside of the handler. 10 00:00:43,050 --> 00:00:43,770 Now, first. 11 00:00:44,660 --> 00:00:50,690 We would need to navigate to the address and we're looking for different files in this case, we're 12 00:00:50,690 --> 00:00:55,050 looking for file number two online. 13 00:00:55,910 --> 00:00:57,950 The multiple inputs is the name. 14 00:00:58,370 --> 00:01:06,500 So service and what you'll notice that it is exactly the same, like we finished in the controlled inputs, 15 00:01:06,770 --> 00:01:08,420 and that is by design. 16 00:01:08,750 --> 00:01:14,920 So essentially, I'm not the biggest fan of refactoring, but this is exactly what we'll do in this 17 00:01:14,930 --> 00:01:18,100 video where we will refactor it a little bit. 18 00:01:18,560 --> 00:01:24,320 So our whole setup is going to be exactly the same, where we are still surveying the form, we're still 19 00:01:24,320 --> 00:01:30,680 adding the items and all that good stuff is just the implementation will be a little bit different. 20 00:01:31,010 --> 00:01:35,180 And I would want to start by adding one more input. 21 00:01:35,300 --> 00:01:41,210 And again, when you're looking at this setup, the one that we're about to set up, please keep in 22 00:01:41,210 --> 00:01:49,730 mind that we're talking about the form with multiple, multiple, multiple inputs, not just two or 23 00:01:49,730 --> 00:01:50,030 three. 24 00:01:50,270 --> 00:01:55,350 If you have two or three, probably there's nothing wrong with our previous setup. 25 00:01:55,670 --> 00:01:57,970 So now what I would want is to copy and paste. 26 00:01:57,980 --> 00:02:02,660 So we're adding one more item over here and I'll call this age. 27 00:02:03,050 --> 00:02:04,480 So change this around. 28 00:02:04,850 --> 00:02:07,760 We'll say that HTML four will be for age. 29 00:02:07,760 --> 00:02:09,590 So also, of course, the idea will change. 30 00:02:10,100 --> 00:02:15,770 We're going to add here age value as far as text, let's change the old age. 31 00:02:16,010 --> 00:02:19,950 Now, we also would want to change the name, which, by the way, we haven't used it yet. 32 00:02:20,330 --> 00:02:25,520 So on this video, you'll finally see why we're setting up that name attribute all the time. 33 00:02:25,640 --> 00:02:28,810 And I would want to get a state value. 34 00:02:29,210 --> 00:02:33,170 So for the time being, I will copy and paste. 35 00:02:34,540 --> 00:02:43,320 I'll copy and paste and I'll say page and set a page, and by default, age will be, I don't know, 36 00:02:43,750 --> 00:02:47,450 I think I'm going to go the same way with an empty string. 37 00:02:48,110 --> 00:02:50,080 OK, that is going to be my age. 38 00:02:50,380 --> 00:02:57,820 And of course, in here where I have the value and the change, I would want to change it to age online 39 00:02:58,180 --> 00:02:59,380 chat age. 40 00:02:59,950 --> 00:03:00,990 So this should work. 41 00:03:01,000 --> 00:03:01,540 Correct. 42 00:03:02,110 --> 00:03:10,960 But wouldn't it be better if we would have only one value in a state instead of three or four instead 43 00:03:10,960 --> 00:03:13,420 of 10 or 15 or how many inputs you have? 44 00:03:13,960 --> 00:03:20,200 And also, wouldn't it be better if we would have only one function that is responsible for on change, 45 00:03:20,560 --> 00:03:23,680 regardless which input we're typing in? 46 00:03:24,010 --> 00:03:28,930 Because our if we need to make some changes, we only need to do it in one place. 47 00:03:29,380 --> 00:03:33,550 And we would do that by first setting up one state value. 48 00:03:34,240 --> 00:03:41,610 So instead of first name email and the age, I will go with Consed and I'll call this person, so say 49 00:03:41,620 --> 00:03:42,190 person. 50 00:03:42,490 --> 00:03:47,150 And then of course there's also going to be a set person function. 51 00:03:47,530 --> 00:03:52,540 Now it is going to be equal to a used state and now said this is equal to a object. 52 00:03:52,870 --> 00:04:00,340 So I'm going to go with first name and then that it will be equal to a empty string, an email, same 53 00:04:00,340 --> 00:04:06,630 spiel and the string also the age and you guessed it, empty string. 54 00:04:07,120 --> 00:04:13,540 So one set that up these values now instead of using them one by one, the first name, email and the 55 00:04:13,540 --> 00:04:14,020 age. 56 00:04:14,360 --> 00:04:18,040 Now, I would want to reference the person. 57 00:04:18,520 --> 00:04:25,180 And you're not by the way, I will delete that handle submit and we will rewrite it from the scratch. 58 00:04:25,420 --> 00:04:27,700 So I just delete it so it's not in our way. 59 00:04:27,890 --> 00:04:31,420 And eventually we'll set up one more time. 60 00:04:31,750 --> 00:04:35,650 And of course, I have my person with all those three properties. 61 00:04:36,540 --> 00:04:42,600 And now where we see the input, of course, we would also want to change where now the value will be 62 00:04:42,930 --> 00:04:50,070 person, that person, not just the person who by the way, I think in here, I'm just going to comment 63 00:04:50,070 --> 00:04:51,770 the south or you can delete it. 64 00:04:51,780 --> 00:04:52,690 It's up to you. 65 00:04:53,130 --> 00:05:00,570 So we have a person that first name, one person that email, and then eventually also we have a person 66 00:05:00,570 --> 00:05:01,770 of that age. 67 00:05:02,220 --> 00:05:02,740 Correct. 68 00:05:03,240 --> 00:05:08,060 Now, the gotcha here is that we're still using these functions. 69 00:05:08,190 --> 00:05:08,610 Correct. 70 00:05:08,860 --> 00:05:10,100 So we have some e-mail. 71 00:05:10,110 --> 00:05:12,040 We have said age and all that. 72 00:05:12,300 --> 00:05:19,290 Now, there's a big fat complaint from react because of course, we don't have the handle submit and 73 00:05:19,290 --> 00:05:20,850 also we don't have the functions. 74 00:05:21,180 --> 00:05:23,820 So what I would want to do right now is just delete. 75 00:05:24,090 --> 00:05:26,940 We will flip it over to the submit button. 76 00:05:27,570 --> 00:05:33,170 And as far as the on change ledger, just a reference the function in this case instead. 77 00:05:33,480 --> 00:05:36,450 So go with no and then change. 78 00:05:36,630 --> 00:05:39,530 So that is, of course, the function we haven't created yet. 79 00:05:39,810 --> 00:05:43,280 So I'm going to go with const and then handle change. 80 00:05:43,620 --> 00:05:47,520 And again, I definitely would want that event object. 81 00:05:47,880 --> 00:05:52,740 So I need to set up my parameter and I'll have access to the object. 82 00:05:53,250 --> 00:05:54,570 And like I said. 83 00:05:55,490 --> 00:06:01,550 We'll copy and paste, so changes around there's not going to be three separate functions, there's 84 00:06:01,550 --> 00:06:05,100 going to be one function and again, think 15 inputs. 85 00:06:05,900 --> 00:06:09,390 That is where it definitely makes way more sense. 86 00:06:09,770 --> 00:06:12,260 So we have Hornchurch equal to handle change. 87 00:06:12,560 --> 00:06:18,650 And then on the submit button, well, let's go with UNCLICK just so we can see that, of course, it 88 00:06:18,650 --> 00:06:19,390 is going to work. 89 00:06:19,580 --> 00:06:28,000 And in this case, I'll call this handle subelement, let's scroll up CONSED and then handle. 90 00:06:28,490 --> 00:06:32,480 So right now, still the same setup. 91 00:06:32,480 --> 00:06:39,220 We need to have access to the event object and will right away prevent and default. 92 00:06:39,300 --> 00:06:43,220 OK, so that is the function that we're looking for now. 93 00:06:43,310 --> 00:06:48,050 At this point it's complaining the channel change is not defined. 94 00:06:48,440 --> 00:06:54,200 So of course I call this HANEL and that's not what the function name is. 95 00:06:54,590 --> 00:06:56,870 So let's say now we don't have the arrows. 96 00:06:56,900 --> 00:06:57,480 Beautiful. 97 00:06:57,790 --> 00:06:59,000 Now everything works. 98 00:06:59,000 --> 00:07:00,920 But if you start to try typing. 99 00:07:01,810 --> 00:07:07,140 Of course, again, nothing will work well because the handl change is not doing anything. 100 00:07:07,780 --> 00:07:10,750 Now, why am I showing you this particular setup? 101 00:07:11,200 --> 00:07:19,450 Well, because now I would want to run the channel change regardless of the input, and I would want 102 00:07:19,450 --> 00:07:20,590 to get those values. 103 00:07:20,980 --> 00:07:27,400 And depending on which input I'm changing, I also would want to affect the person. 104 00:07:27,970 --> 00:07:36,970 Now, two properties that I definitely want from the event object are the name and the value. 105 00:07:37,270 --> 00:07:47,830 So if I go here with consed name and equal to event, target and name, copy and paste and if we go 106 00:07:47,830 --> 00:07:49,000 here with a value. 107 00:07:50,120 --> 00:07:57,770 And just around again to even target, so that is the input where we're typing the same how we access 108 00:07:57,770 --> 00:08:01,910 value in my previous case, remember, in the controlled inputs. 109 00:08:03,020 --> 00:08:09,290 We use the value correct when we are setting up the first name or email, we use event target, so that 110 00:08:09,290 --> 00:08:12,660 acts as the input and then we use dot value property. 111 00:08:13,070 --> 00:08:14,930 In this case, I'm looking for two things. 112 00:08:15,350 --> 00:08:23,060 I'm saying whenever I call my handle change, I would want to check for the name of the target and the 113 00:08:23,060 --> 00:08:24,160 name will be right here. 114 00:08:24,170 --> 00:08:29,180 Remember, each and every time we set up that name attribute on the input. 115 00:08:29,600 --> 00:08:34,950 Well, now we'll use it now, say a real target name and then divide. 116 00:08:35,270 --> 00:08:44,370 So if your a log, you'll notice something pretty, pretty cool where we go with name and value and 117 00:08:44,420 --> 00:08:52,460 depending on which input I'm typing n this tells me that the name attribute on the input is first name 118 00:08:52,880 --> 00:08:54,710 and then I'm also getting the values. 119 00:08:55,130 --> 00:09:03,230 Now nothing is displayed right now in the input because we haven't updated the person yet, meaning 120 00:09:03,230 --> 00:09:08,330 we're accessing of course the person that first night and we're not doing anything with that person 121 00:09:08,330 --> 00:09:08,620 yet. 122 00:09:08,900 --> 00:09:10,610 But don't worry, we'll do that in a second. 123 00:09:10,820 --> 00:09:13,340 But if we change to an email, beautiful. 124 00:09:13,340 --> 00:09:19,790 Now n again, it gets me the name of the input and it also gets me that current value. 125 00:09:20,510 --> 00:09:23,610 And the same, of course, is going to be with an H. 126 00:09:24,050 --> 00:09:26,440 Now why is that so cool? 127 00:09:26,840 --> 00:09:32,680 Well, because now once I know the name and the value, I can use the dynamic object properties. 128 00:09:32,960 --> 00:09:35,690 Again, this is coming from JavaScript. 129 00:09:36,110 --> 00:09:44,020 So please either utilize my JavaScript Nugget series or just Google Dynamic Properties, how you would 130 00:09:44,030 --> 00:09:45,950 set them up in Joska. 131 00:09:46,310 --> 00:09:48,110 So now I have the object. 132 00:09:48,410 --> 00:09:49,010 Correct. 133 00:09:49,400 --> 00:09:51,910 And of course the object is that person. 134 00:09:52,250 --> 00:10:00,950 So what I could do here is I could say set person and then remember, I need to copy the old values 135 00:10:00,950 --> 00:10:09,560 first, because since it is an object, it has multiple properties as I'm updating one, for example 136 00:10:09,570 --> 00:10:09,880 name. 137 00:10:10,130 --> 00:10:14,060 I don't want to remove or delete the email. 138 00:10:14,070 --> 00:10:17,150 And that's why we first start by superduper. 139 00:10:18,470 --> 00:10:25,740 That we copy the person from the state and then we add a comma and then after the comma, we would want 140 00:10:25,740 --> 00:10:29,220 to come up with whichever property we would want to update. 141 00:10:29,550 --> 00:10:34,020 Now, of course, that is going to depend on which input we're typing in. 142 00:10:34,140 --> 00:10:34,620 Correct. 143 00:10:34,980 --> 00:10:41,550 And this is the case where we can do this dynamically, where I can say, you know what, get me the 144 00:10:41,550 --> 00:10:45,990 name on that object, because in here I'll pass in the value. 145 00:10:46,410 --> 00:10:48,210 Now, what were my values? 146 00:10:48,240 --> 00:10:52,170 It was either first name, it was either email or it was age. 147 00:10:52,620 --> 00:10:58,670 So now we'll dynamically update this property equal to whatever value we have. 148 00:10:59,040 --> 00:11:06,060 Please keep in mind it's the same thing as you write over here, first name and then it is equal to 149 00:11:06,060 --> 00:11:06,450 a value. 150 00:11:06,720 --> 00:11:11,060 Now the difference is that we are doing this dynamically because we have three inputs. 151 00:11:11,310 --> 00:11:16,440 So if I'll just leave this as a first name, you'll notice that each and every time I type something, 152 00:11:16,860 --> 00:11:20,340 it's actually displayed over here, which kind of doesn't make sense, right? 153 00:11:20,600 --> 00:11:20,960 Why? 154 00:11:21,060 --> 00:11:24,720 Well, because I'm not selling this dynamically. 155 00:11:24,940 --> 00:11:32,910 I'm saying first name where if I have access to the name and of course, those names need to match to 156 00:11:32,910 --> 00:11:41,610 whatever I have in the object now, each and every time I'll type in any of the inputs, I'll dynamically 157 00:11:41,610 --> 00:11:43,340 update that state value as well. 158 00:11:43,680 --> 00:11:45,740 So that's why I need to go with that name. 159 00:11:45,750 --> 00:11:49,180 And that's why we added the name right from the get go. 160 00:11:49,560 --> 00:11:54,420 Now, you're not going to use that all the time, but there's going to be some use cases where it is 161 00:11:54,420 --> 00:12:00,270 very nifty to update whichever state value references the input. 162 00:12:00,600 --> 00:12:03,420 So now, again, let's not get to a bigger screen notice. 163 00:12:03,480 --> 00:12:07,290 I have my state now check it out where I have the name. 164 00:12:07,470 --> 00:12:13,530 I'll start typing and there it is in my state, in the person right away. 165 00:12:13,560 --> 00:12:17,590 I'll access the first name and of course, that it will be equal to Ajan. 166 00:12:17,910 --> 00:12:24,250 Now if I go with email, I go with John at G.M. dot com and there it is. 167 00:12:24,340 --> 00:12:26,140 Now we have John and G.M. outcome. 168 00:12:26,460 --> 00:12:29,720 And lastly, we have age of twenty four. 169 00:12:30,240 --> 00:12:36,390 So notice how nicely we updated all the hours and now what's left to do. 170 00:12:37,250 --> 00:12:46,490 Is again, to submit the form so we prevent a default and now I would want to check if and in this case 171 00:12:46,490 --> 00:12:47,700 I'm checking for three things. 172 00:12:48,080 --> 00:12:53,360 So first name and person, then dot email. 173 00:12:53,870 --> 00:12:56,300 And then the last property, of course, was age. 174 00:12:56,690 --> 00:13:01,160 So I only would want to submit this form if all three of them. 175 00:13:02,180 --> 00:13:09,820 Are more than just an empty string and then let's do the same thing where we are creating a new person, 176 00:13:10,130 --> 00:13:10,610 correct? 177 00:13:10,940 --> 00:13:14,810 So we go here with that new person. 178 00:13:15,090 --> 00:13:21,830 And then as far as the value, I would want to copy the person value from the state of this one, since 179 00:13:21,830 --> 00:13:24,250 this is what we're setting up as far as the input. 180 00:13:24,440 --> 00:13:32,660 And now I also would want to add that ID someone to go with it is equal to a new date and then get time, 181 00:13:33,510 --> 00:13:38,880 get time invoked and then we have to string invoked as well. 182 00:13:39,350 --> 00:13:47,780 And lastly, let's just add person to a set of people and then let's that a person back to an empty 183 00:13:47,780 --> 00:13:48,100 string. 184 00:13:48,440 --> 00:13:50,710 So we go with set people. 185 00:13:51,200 --> 00:13:52,690 That is my array of course. 186 00:13:52,940 --> 00:13:57,050 And like I said previously, we used the function in this case. 187 00:13:57,050 --> 00:14:04,760 I'm just going to pass an era where I'll copy the values from the state and then I'll add that new person. 188 00:14:05,120 --> 00:14:09,890 So we were just practicing in the previous example where we used a function. 189 00:14:10,160 --> 00:14:12,740 We can also pass directly here the value. 190 00:14:13,010 --> 00:14:18,520 And then, like I said, I also want to set person back to empty values. 191 00:14:18,530 --> 00:14:19,970 So we passed in the object. 192 00:14:20,390 --> 00:14:29,810 We say first name is equal to an empty string, then email is empty string and then the age is empty 193 00:14:29,900 --> 00:14:30,240 string. 194 00:14:30,410 --> 00:14:37,490 Now want to set out on a bigger screen where we go with Susan than we're looking for Susan at Gmail 195 00:14:37,490 --> 00:14:41,540 dot com and on the edge will be twenty five. 196 00:14:42,010 --> 00:14:45,490 The moment we have the person there is, there is our Susan. 197 00:14:45,800 --> 00:14:53,000 Now if you want of course you can add also in the just sex that particular age, if that's what you're 198 00:14:53,000 --> 00:14:59,540 shooting for, because we're going to go here with age and in the first name instead of the first name, 199 00:14:59,960 --> 00:15:04,870 we're going to go with paragraph and let's just say age like. 200 00:15:04,880 --> 00:15:10,480 So, um, let's try it out one more time with honor and at Gemelli. 201 00:15:10,500 --> 00:15:13,730 Come on, she's going to be twenty six. 202 00:15:13,730 --> 00:15:19,640 And of course, the moment we add the item, there is this displayed and our list. 203 00:15:20,060 --> 00:15:27,950 So that essentially is how we can set up multiple values with the same handle change function. 204 00:15:28,370 --> 00:15:30,890 Now again, are you going to use that all the time. 205 00:15:30,890 --> 00:15:37,700 No, but there's going to be some use cases where it's just going to be much faster and easier instead 206 00:15:37,700 --> 00:15:44,900 of setting up all these multiple state values and the separate functions that update each and every 207 00:15:44,900 --> 00:15:47,000 time you type in the input. 208 00:15:47,270 --> 00:15:49,370 In this case, we have the same function. 209 00:15:49,610 --> 00:15:55,250 So even if I would have twenty input, if I want to change something around, I just need to do that 210 00:15:55,460 --> 00:15:57,190 in one place. 19979

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.