input ํ๊ทธ์ number ํ์ ์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅํจ์ ๋ฐ๋ผ ํ ์ปฌ๋ผ์ ๋ฐ์ดํฐ๊ฐ ๊ณ์ฐ๋์ด์ผํ๋ ๊ฒฝ์ฐ,
ํด๋น input box์๋ string ํ์ ์ ๋ฐ์ดํฐ๊ฐ ๋ค์ด์ค๋ฉด ์๋๋ค.
@input ํ๊ทธ๋ฅผ ์จ์ ๋ฐ์ดํฐ ๋ณ๊ฒฝ์ ๊ฐ์งํ๊ณ , ๊ทธ๋๊ทธ๋ ๊ณ์ฐ์ ํด์ฃผ๊ธฐ ๋๋ฌธ์
string์ด ๋ค์ด์ค๋ฉด ๋ฐ๋ก NaN ๊ฐ์ด ๋์ด๋ฒ๋ฆฌ๋ฏ๋ก, ๋ค์ number๋ฅผ ์ ๋ ฅํด๋ NaN์ด ๋์ด๋ฒ๋ ธ๊ธฐ ๋๋ฌธ์ ๊ณ์ฐ์ด ๋ถ๊ฐํ๋ค.
๊ฒฐ๋ก ์, input ๋ฐ์ค์ ์ ๊น์ด๋ผ๋ string์ด ์ ๋ ฅ๋์ด์๋ ์๋๋ ์ํฉ
<์๋ชป๋ ๋ฐฉ๋ฒ>
๋ณดํต ์ด๋ ๊ฒ type์ number๋ก ์ฃผ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ฐ, ์ด๊ฑด ์ ๊น์ด๋๋ง string ๊ฐ์ด ์ ๋ ฅ๋ ํ ์ฌ๋ผ์ง๊ธฐ ๋๋ฌธ์ @input์ ๊ฐ์ง๋๋ค.
<input type="number" @input="changeYearly($event, rowData, index)"/>
<ํด๊ฒฐ>
type์ text๋ก ๋ฐ๊พธ๊ณ , oninput์ ์ ๊ท์์ ๋ฃ์ด ์ซ์๊ฐ ์๋ ๊ฐ์ด ์ ๋ ฅ๋๋ ๊ฒฝ์ฐ replace๋ก ๋์ฒดํ๊ฒ ํ๋ค.
<input
type="text"
oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');"
@input="changeYearly($event, rowData, index)"
/>
'๐ Language > JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[javascript] ์ฐธ์กฐํ์ ์์ ๋ณต์ฌ(Shallow Copy) & ๊น์ ๋ณต์ฌ(Deep Copy) (0) | 2023.02.03 |
---|---|
[javascript] ๋ฐฐ์ด ์ ๊ฐ์ฒด๋ค์ ๊ฐ ์์ ๋ํ๊ธฐ (0) | 2023.02.02 |
[Javascript] ES5, 6 ์ฐจ์ด (0) | 2022.05.23 |
[Javascript] ์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ์ด (0) | 2022.04.29 |
[Javascript] instanceof, arguments (0) | 2022.04.29 |