해결된 질문
작성
·
25
0
초기값이 '' 이여서
강의에서는 value 값을 맨뒤로 넣고 input 태그에 닫힘을 작성하지 않음으로, 동작하게 하였는데
다른 방법으로는
<input type="text" placeholder="Search" id="search" value="${searchWord}" autocomplete="off"/>
로 작성하였습니다,
value 를 싱글쿼터나 더블쿼터로 감싼다음 ${} 를 사용하시면,
뒤에다가 다른 속성을 넣거나 닫아도 정상 동작합니다.
참고 하실분 참고하셔도 좋습니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. hollis9797님.
input 태그 사용 시 문제가 발생할 수 있는 부분에 대한 해결 방법을 제시해 주셨네요. 이를 공유해 주셔서 감사합니다! 닫는 태그 없이 <input>
만 사용했을 때 동작하지 않거나, value 값이 의도하지 않게 들어가는 문제를 겪는 경우가 종종 있을 수 있습니다.
input 태그의 클로징 태그
- HTML5는 <input>
태그를 닫지 않고 사용해도 HTML 상에서 오류가 발생하지 않습니다. 하지만 자바스크립트 템플릿 리터럴로 문자열을 조작할 때는 주의가 필요합니다.
value 속성
- 자바스크립트 템플릿 리터럴에서 변수를 활용할 때는 반드시 ${}
안에 변수를 넣어 두 번 출력하는 상황을 방지해야 합니다.
올려주신 코드 예시처럼, value 속성을 따옴표로 감싸고 ${}
를 사용하면 템플릿 리터럴이 올바르게 작동하여 문제가 해결될 수 있습니다.
관련된 상세 설명을 찾고 계신다면, 이 답변을 참고해 보세요:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.