[HTML] button 태그와 input 태그의 차이

button 태그와 input 태그의 차이

<button><input type="submit">의 차이


<button><input type="submit">의 차이를 자바스크립트의 필요 유무로 나누면 아래와 같다.

자바스크립트 필요 -> <button>,<input type="button">

<button> 으로 작성한 버튼은 자바스크립트로 작성한 양식을 전송한다.
type의 기본값은 submit이지만 반드시 submit에 사용되지 않는 경우도 있기 때문에 type은 가능하면 명시하는 것이 추후 유지보수에 좋다.


클릭 이벤트 시 type

submit : 데이터 제출 버튼
reset : form 내부의 모든 값을 초기화
button : 클릭 이벤트에서 실행할 것을 자바스크립트로 설정한다.

<input type="button">도 자바스크립트와 함께 사용하는 버튼을 의미한다.

두 개의 차이는 태그 안에 다른 태그를 넣을 수 있는가? 이다.
<button>태그는 <button></button> 으로 표현되는 끝이 닫히는 태그로 다른 요소를 안에 넣어 다양하게 꾸밀 수 있지만
<input>은 끝을 닫는 태그가 아니다.(*참고 ‘self-closing tag’)

또한 기존에 <button>태그는 구형 브라우저에서 지원이 되지 않아 <input type="button">으로 많이 사용되었지만
지금은 <button>태그에 type을 쓰는 것으로 더 많이 사용된다.



자바스크립트 불필요 -> <input type="submit">

<input type="submit">은 자바스크립트를 사용할 필요없이 form의 action으로 선언한 곳으로 바로 양식이 전송된다.



form 요소의 기본 구성

간단하게 아래와 같은 구성으로 기본적인 표준과 접근성을 챙길 수 있다.
속성를 제외하고 뼈대만
p 태그로 내부의 단락을 나눌 수 있다.


<form>
    <fieldset>
        <input>
        <label>
        <button>
    </fieldset>
</form>

참고한 글
w3school
365kim님의 글

Made with by Álvaro