[TIL-260115] jQuery: Form Element 다루기와 AJAX

2026. 2. 15. 11:03·Frontend
이 글은 2026년 1월 15일에 작성된 글입니다.

Form Element

Form Element들과 Element들에 사용할 수 있는 메서드를 배웠다.

  • input / textarea
    `val()` - 선택한 요소의 값을 가져오거나 새로운 값을 적용
<script>
    $(document).ready(function(){
        // 이메일에 키보드 입력하고 손 뗐을 때 이벤트
        $("#email").on("keyup", function(){
            // 콘솔에 입력한 이메일 보여줌
            var email = $("#email").val();
            console.log(email);
        })
    });
</script>
  • select
<script>
    $(document).ready(function(){
        // 이메일에 키보드 입력하고 손 뗐을 때 이벤트
        $("#email").on("keyup", function(){
            // 콘솔에 입력한 이메일 보여줌
            var email = $("#email").val();
            console.log(email);
        })
        // 직업을 선택했을 때 이벤트
        $("#jobs").on("change", function(){
            // alert 창에 선택된 옵션의 text 띄워줌
            alert($("#jobs option:selected").text());
            // 콘솔에 jobs 옵션값 보여줌
            console.log("jobs 옵션값: " + $("#jobs").val());
        });
    });
</script>

 

  • radio / checkbox
    `eq()` - 선택된 요소들의 집합에서 지정된 인덱스의 요소 하나만 선택
    `prop()` - 선택한 요소의 상태 속성 값을 가져옴
// 선택된 요소 중 1번 인덱스 요소를 찾아서 강제로 checked가 true이게 함.
<script>
  $("input[type=radio][name=age]").eq(1).prop("checked", true);
  // 전체선택/해제 체크박스를 클릭했을 때 이벤트
  $("#age").on("click", function(){
      var checked = $(this).prop("checked");
      if (checked){
          $("input[type=checkbox][name=age]").prop("checked", true);
      }
      else {
          $("input[type=checkbox][name=age]").prop("checked", false);
      }
  })
</script>


AJAX

  • 비동기 방식의 웹 개발 기법
  • 사용자 모르게 요청을 주고 받음
  • 페이지를 새로고침 하지 않고 페이지의 특정 부분을 요청해서 페이지의 일부만 동적으로 업데이트함
  • 서버와 통신하는 동안에도 사용자는 다른 작업을 할 수 있어 효율적
// ajax 주요 사용법 (예시)
$.ajax({
    url: 'https://api.example.com/data', // 요청을 보낼 URL
    type: 'GET', // HTTP 요청 방식 (GET, POST 등)
    dataType: 'json', // 응답받을 데이터 형식 (json, xml, html, text)
    success: function(response) {
        // 요청이 성공했을 때 실행할 코드 (response: 서버 응답 데이터)
        console.log(response);
    },
    error: function(error) {
        // 요청이 실패했을 때 실행할 코드
        console.error(error);
    }
});

JSON

  • JavaScript Object Notation.
  • 데이터를 전달할 때 사용하는 표준형식.
  • 속성(key)과 값(value)이 하나의 쌍을 이루고 있는 텍스트 데이터.

sample.json의 데이터를 불러와서 table로 가공하여 출력하는 예제

<script>
	$(function() {
        $.ajax({
        url:"sample.json",
        dataType:"json",
        success:function(data) {
            if(data.length > 0) {
                var tb = $("<table />");
                for(var i in data) {
                    var id = data[i].id;
                    var first_name = data[i].first_name;
                    var last_name = data[i].last_name;
                    var email = data[i].email;
                    var gender = data[i].gender;

                    var row = $("<tr />").append(
                        $("<td />").text(id),
                        $("<td />").text(first_name),
                        $("<td />").text(last_name),
                        $("<td />").text(email),
                        $("<td />").text(gender)
                    );

                    tb.append(row);
                }
                $(".wrap").append(tb);
            }
        }
    });
});
</script>

❕느낀점

사실 이렇게 작성하는게 맞는지 모르겠다.. (처음이라 ㅎ..)

 

프론트엔드 부분은 1학년 때 배우고 그 이후로 거의 다룬 적이 없어서 처음에는 걱정이 됐다. 그래도 수업을 따라가다 보니 기억이 새록새록 떠오르는 느낌이었다. 백엔드에 비해 프론트엔드는 코드를 넣었을 때 결과를 직관적으로 바로 확인할 수 있어서 확실히 그 직관적인 점이 좋은 것 같다.

 

수업을 들으며 예제 실습도 무리없이 따라가고 있고, 아직까지는 큰 어려움은 없다. 스프링 들어가면 그때부터 진짜 시작이겠지
우선 지금까지 배운 내용을 나중에 프론트엔드 프로젝트 할 때 써먹을 수 있도록 잘 정리하고 복습해야겠다.

 

앞으로도 화이팅!!💪

'Frontend' 카테고리의 다른 글

[TIL-260122] React 기초: Hook과 SPA, todo 앱 만들기 실습  (0) 2026.02.16
[TIL-260121] React 기초: 이벤트, 생명주기, Hook  (0) 2026.02.16
[TIL-260120] React 기초: JSX, 컴포넌트, state  (0) 2026.02.16
[TIL-260119] 모던 자바스크립트 기초 문법, React 환경설정  (0) 2026.02.16
[TIL-260116] 모던 자바스크립트 기초 문법: 변수 선언부터 분할 대입까지  (0) 2026.02.15
'Frontend' 카테고리의 다른 글
  • [TIL-260121] React 기초: 이벤트, 생명주기, Hook
  • [TIL-260120] React 기초: JSX, 컴포넌트, state
  • [TIL-260119] 모던 자바스크립트 기초 문법, React 환경설정
  • [TIL-260116] 모던 자바스크립트 기초 문법: 변수 선언부터 분할 대입까지
hee-on
hee-on
작은 기록을 모아 꾸준히 성장해 나가는 개발 기록 공간입니다💻
  • hee-on
    희온의 dev log
    hee-on
  • 전체
    오늘
    어제
    • 전체 글 (52) N
      • About (2)
      • Backend (33) N
        • Java (15)
        • Spring (6)
        • DB (8) N
        • Architecture & Design (4) N
      • Frontend (6)
      • CS (6)
        • Algorithm (2)
        • Do it 알고리즘 코딩테스트 (자바편) (4)
        • Network (0)
        • Operating System (0)
      • DevOps (1)
        • Git (1)
        • CI-CD (0)
        • Docker (0)
        • AWS (0)
      • AI (1)
      • 일상 || 잡담 (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    db
    ClaudeAPI
    블로그
    JSP
    SQL
    취준
    MVC
    알고리즘
    코테
    백엔드
    개발자
    Java
    소개
    Servlet
    SpringBoot
    react
    til
    Spring
    JavaScript
    백준
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
hee-on
[TIL-260115] jQuery: Form Element 다루기와 AJAX
상단으로

티스토리툴바