작성
·
2.6K
·
수정됨
0
addForm.html의 일부 코드입니다.
<form th:object="${item}">
<input type="text" id="itemName" th:field="*{itemName}">
<input type="checkbox" id="open" th:field="*{open}">
</form>
렌더링 후
첫 번째 input: <input type="text" id="itemName" name="itemName" value="">
두 번째 input: <input type="checkbox" id="open" name="open" value="true">
<input type="hidden" name="_open" value="on"/>
th:field에 의해 <input>에 name, value 속성이 생기는데, value에는 각각 itemName, open의 값이 들어갑니다.
th:object="${item}"에서 넘긴 Item 객체는 빈 객체니까, 첫 번째 <input>에 value=""가 들어간 것은 알겠습니다.
그런데, 왜 두 번째 <input>에는 value=""가 아닌 어떻게 true라는 값이 들어가는 것인가요?
혹시 <input type="checkbox">일 때는 value에 들어가는 것이 달라지는 것인가요?
답변 2
0
저도 checkbox에 체크를 안하고, submit을 해도, value가 생성되고 true가 들어있는게 의아했었습니다.
이전에도 관련된 질문이 있었는데, 이를 확인해주시면 될 것 같습니다.
0
안녕하세요. 도토리님
문자 타입의 입력 폼에는 ""이 들어가고, checkbox처럼 boolean 타입이 들어가는 경우에는 예외적으로 true, false 값이 들어갑니다.
감사합니다.