Home

Jeong-Yoon

26 Apr 2019

Study manager 프로젝트 진행과정10

2019.04.26 Study Manager 프로젝트 진행과정 10

javascript로 post 방식으로 form 만들어서 보내기

  • 데이터를 보내야 하는데 ajax로 데이터를 가져와서 넣는 부분이 있어서 단순 form으로는 데이터를 넘길 수가 없고 제목을 눌러서 넘어가기 때문에 function으로 onclick 처리를 해줘야 했다.
  • ajax로 데이터를 보내고 페이지를 이동하려고 했는데 데이터는 넘어가지만 페이지 이동은 되지 않았다.
  • 파라미터로 보낼 값들은 input hidden으로 해서 name을 주어 값을 불러오도록 했다.
  • 방법을 찾아보니 function에 form을 만들어서 넘길 수 있었다.

      function gotoContent() {
          var curriculumDetailContent = $('#curriculumDetailContent').val();
          var curriculumDetailId = $("#curriculumDetailId").val();
          var curriculumContent = $("input[name=curriculumContent]").val();
    
          var form = document.createElement("form");
          form.setAttribute("charset", "UTF-8");
          form.setAttribute("method", "Post"); // Get 또는 Post 입력
          form.setAttribute("action", "/studyContent");
        
          var hiddenField = document.createElement("input");
          hiddenField.setAttribute("type", "hidden");
          hiddenField.setAttribute("name", "curriculumDetailId");
          hiddenField.setAttribute("value", curriculumDetailId);
          form.appendChild(hiddenField);
        
          hiddenField = document.createElement("input");
          hiddenField.setAttribute("type", "hidden");
          hiddenField.setAttribute("name", "curriculumDetailContent");
          hiddenField.setAttribute("value", curriculumDetailContent);
          form.appendChild(hiddenField);
        
          hiddenField = document.createElement("input");
          hiddenField.setAttribute("type", "hidden");
          hiddenField.setAttribute("name", "curriculumContent");
          hiddenField.setAttribute("value", curriculumContent);
          form.appendChild(hiddenField);
        
          document.body.appendChild(form);
          form.submit();
      }
    
    • 다른 값들은 또다른 script에서 값을 가져오기 때문에 그냥 name값으로 불러올 수 있었지만 curriculumContent는 script 밖 form에 있는 값이기 때문에 input으로 해서 값을 불러와야 했다.

Til next time,
Jeong-Yoon at 00:00

scribble