select값을 새로고침해도 유지하는 방법 질문드립니다.

조회수 1932회

안녕하세요,

<select id="test" name="num" onchange="this.form.submit()">
  <option value=""> ----------------------------  Not Selected  ---------------------------- </option>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
</select>

위 코드로 HTML select 값을 선택하면 버튼없이 django로 submit하도록 만들었는데요, submit 된 후에 값이 Not Selected로 초기화가 되네요, 혹시 값을 선택한 것으로 유지할 수 있는 방법이 있을까요? 질문드립니다.

1 답변

  • form submit method가 GET인지 POST 인지 첨부하신 코드상으로는 알 수 없으나

    select 옵션이 변경될 때마다 submit이 일어나야 한다면 select 엘리먼트의 change이벤트 핸들러에서 form.submit()을 호출하지 마시고 직접 Ajax call을 만들어 쓰세요.

    https://codepen.io/digda/pen/ZEbLaXE

    다만, 이렇게 할 경우에 번거로운 작업이 강제됩니다.

    기존 form submit을 사용할 경우에는 form에 있는 내용들이 method에 적합한 형태를 자동으로 갖추어 보내지는데 반해,

    Ajax 만들어 직접 호출하게 되면 실어 보낼 데이터를 일일이 모아서 수동으로 넣어주어야 합니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)