[Javascript & Typescript] Textarea의 값을 엔터키로 제출할 때 엔터가 입력되는 현상 해결
2023. 4. 13. 16:20ㆍ프로그래밍 공부/javascript & typescript
반응형
SMALL
react
를 이용한 textarea
의 값을 엔터키를 이용해서 제출하는 로직을 작성하는 와중에 엔터를 통해서 값이 제출은 잘 되지만 textarea
에 엔터가 한 번 더 입력되어 사용자 경험이 나빠지는 현상이 발생하였다. 물론 전송 버튼(button
)을 통한 제출에서는 text
가 빈 문자열로 잘 적용되었다.
해결 방법 코드
생략...
const handleKeyPress = (event: any) => {
if (event.key === "Enter") {
event.preventDefault(); // ✅ 이 코드를 추가하여 엔터키를 방지한다.
handleSubmit(); // 필요에 따른 로직을 추가.
}
};
생략...
return (
생략...
{/* styled-component로 선언한 textarea */}
<TextInput
placeholder="질문을 입력해주세요."
value={text}
onChange={handleChange}
cols={50}
onKeyPress={handleKeyPress}
/>
);
생략...
event.preventDefault()
를 통해서 텍스트 영역에서 Enter 키의 기본 동작을 방지할 수 있다. 엔터키 코드가 감지되면 이벤트 객체의 preventDefault()
메서드를 사용하여 기본 동작을 방지할 수 있다.
반응형
LIST
'프로그래밍 공부 > javascript & typescript' 카테고리의 다른 글
[Functional Programming] 부록: 테스트 커버리지와 GitHub Workflows (0) | 2025.04.20 |
---|---|
[Functional Programming] 1장: 기본 배열 함수 구현하기 (0) | 2025.04.19 |
[Functional Programming] 0장 들어가며: 타입스크립트 함수형 프로그래밍 (2) | 2025.04.17 |
[NextJS] nodemailer 이용하여 email 보내기 (2) | 2023.10.22 |
Content Security Policy (CSP) 컨텐츠 보안 정책 - eval() (0) | 2023.03.18 |