HTML

8. form태그/ input태그/select/textarea

Lune Bleue 2019. 12. 25. 00:08

1.form 태그는 html 웹 문서에서 사용자가 입력하는 특정 양식의 데이터들을 지정한 페이지로 전송할 수 있는 요소(태그)들을 말한다. 

정해진 form안에 input태그로 데이터를 받을 형태를 구성하여 해당 input의 값(value)들을 서버로 전달한다. 

여러개를 한꺼번에 보내고 싶으면 한 폼으로 감싸면된다. 

 속성
 action : 작성한 데이터를 어떤 서버에게 전달할 것인지 웹사이트의 경로를 적는다. 


 method : 전달할 전송 방식을 GET/POST와 같은 HTTP통신의 전송방식을 설정할 때 사용하는 속성 

 전송방식

          1)겟방식   
                    주소?키=값&키=값&키=값 (?뒤는 쿼리 스트링) 
                    -> 값이 보여 보안에 취약함.  
                    -> 주소가 너무 길면 짤려서 페이지가 안뜰 수 있음 (256 자 ) 
         2)포스트방식  
                    주소만 있음  
                    -> 바디에 들어가있음(보이지 않음) 
                    -> 주소가 짧아서 페이지가 짤릴위험 없음 
                    -> 값이 보이지 않기에 보안성 좋음 

encytype : 전달되는 데이터 타입을 지정한다.
     

2. input 어떤 값을 입력할 것인가의 태그. form안에 작성시 submit버튼을 누르면 폼안에 있는 모든 것들이 전송 

     1)속성값  

         type ="" 어떤 타입인가.
         name ="" 태그의 이름( 라디오타입이나 체크박스 타입은 같은 이름끼리 묶을수 있다.). 맵핑을 통해 서블릿으로                        넘어갈 경우 해당 이름을 가지고 넘어간다.
         value ="" 태그가 가지고 있는 값 
         placeholder ="" 아무 것도 입력안했을 시 표시되는 것
         required 필수 입력

        *type 값 
          ㄱ)문자 
                 text : 한줄 텍스트 입력 란 (size = 크기) 
                 password : 한줄 텍스트 입력, 입력시 글자를 가려줌 
                 search : 검색 전용 박스, x표시가뜨고 누르면 적은 것들이 지워짐 
                 email :이메일 전용 입력태그. 이메일 형식검사해서 형식에 맞지 않으면 오류를 뿜음 

                 url : url 주소. url주소형식이 아닐시 오류

 

       


      
                 
       ㄴ)숫자 (각 속성값 max ="" 최대치, min ="" 최소치 value =""초기값 step ="" 증감값 ) 
        number :  스피너 형식이나 웹브라우저에 따라 슬라이드 형식으로도 나타남 
        range : 슬라이드 바 형식 



           ㄷ)날짜(달력 기본제공) 
               date :년월일 
               month : 년월 
               week : 년, 몇번째주 

               time : am/pm 시간

               datatime-local 년월일 am/pm 시간

 

 




             ㄹ) radio와 checkbox (name이 같은 것끼리 묶이기에 그룹화 할것은 같은 name을 주면 된다)
                    
                    radio : 같은 name을 가진 것중 한개 만 선택 가능 
                    checkbox : 같은 name을  그룹화, 가진 것 중 여러개 선택가능  

                   

                *각 input태그에 id를 주고 label for ="지정한 아이디"를 해주면 라벨을 누를시 그 id를 가진태그가 선택됨 
                    다른대서도 응용 가능

 

                   

                   

               ㅁ)버튼( css입히기엔 input쪽이 편하다고 한다.) 
                    submit :제출  
                       form 내의 input 태그의 값을 사용자에게서 입력받은 뒤 서버로 전달할 때는 반드시 input type 속성                          중 submit 이라는 속성값을 사용하여 전달한다. 
                    reset : 초기화/취소 
                            해당 form에 적힌 값을 초기화 시켜주는 것 
                    button : 일반 이벤트 수행용 버튼 , (form태그 안에 button태그를 쓸경우 submit으로 작동하는데, 버튼                            태그 자체의 타입을 button으로 줄경우 이를 방지할 수 있다. <button type="button" ></button> 
                    (ex)뒤로가기 등 



             ㅂ)기타  
                    color : 색상 선택용 rgb 값은 value에 저장된다. 
                    file  : 파일 업로드 용, 탐색기 실행, 경로는 value에 저장된다. 
                    hidden : 보이지 않는 폼. 서버에 저장되기 전이나, 잠깐 값을 저장해야될 경우 사용(많이씀) 
                            소스를 봐도 무엇이저장되는지 보이지 않는다. 개발자만 안다. 


type text의 경우 datalist를 사용해서 사용자 입력값이 외의 예상되는 선택할 수 있는 것을 만들어 놓을 수있다.

사용법은

 (input type ="text" list ="리스트명")

     (datalist id ="리스트명")

         (option value = "")텍스트(/option)(만약 텍스트와 value가 일치하지 않을경우 둘다 나타난다)

      (/datlist)


                     

 3. select&option
   select 태그안에 있는 옵션을 한개로 묶어서 옵션에 지정한 값을 선택 할수 있게 하는 태그 

   속성
       multiple : 다중선택 가능 
       size ="숫자" 한번에 보여줄 양을 정할수 있다 (기본 1) 

   option태그의 value : 넘겨주는 값(텍스트와 일치 하지 않아도 된다. )

 사용예

     (select)

         (option value = "")텍스트(/option)

      (/select)

       optgruop : 옵션을 묶어 줄시 사용하는 태그. name을 써서 묶어준다.

 (optgruop label ="")

   (option value = "")텍스트(/option)

(/optgruop)

 (optgruop label ="")

   (option value = "")텍스트(/option)

(/optgruop)

 

 

4.textarea 

  여러줄의 텍스트를 적고 싶을시 사용하는 테그

 rows ="" 한번에 표시할 에 들어갈 줄 수  

 cols = ""한줄당 글자 수

 (만약 크기를 변경하지 못하게 막고 싶으면  style ="resize : none;" 을 주면 된다.)

아래가 크기변경불가 를 준 것