상세 컨텐츠

본문 제목

[POPUP] 팝업창에 Post 방식으로 값 넘기기

WEB/JavaScript

by AlrepondTech 2011. 4. 1. 17:26

본문

반응형

 

 

=================================

=================================

=================================

 

 

 

 

 

 

출처: http://cafe.naver.com/webdeveloper.cafe

[POPUP] 팝업창에 Post 방식으로 값 넘기기

저희 카페에 올렸던 글입니다. 도움이 될까 싶어서 여기에도 올려봅니다.
아래와 같은 html내의 Table을 엑셀로 저장하는 아주 간단한 팁입니다.

<!--- 팝업창에 Post 방식으로 값을 넘기는 예제입니다.
        개발과정에서 많지는 않지만 간혹 필요할때가 있습니다.
        주석은 간단하게 달았으나 워낙 간단한 소스라 참조하는데는 무리가 없으리라 생각됩니다.
-->

<!------팝업을 호출하는 페이지-------------------->

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<script language="javascript">
function popup(frm)
{
  var url    ="testpop.asp";
  var title  = "testpop";
  var status = "toolbar=no,directories=no,scrollbars=no,resizable=no,status=no,menubar=no,width=240, height=200, top=0,left=20";
  window.open("", title,status);

//window.open(url,title,status); window.open 함수에 url을 앞에와 같이

                                           

//인수로  넣어도 동작에는 지장이 없으나 form.action에서 적용하므로 생략

                                           

//가능합니다.


  frm.target = title;                   

//form.target 이 부분이 빠지면 form값 전송이 되지 않습니다.

  frm.action = url;                   

//form.action 이 부분이 빠지면 action값을 찾지 못해서 제대로 된 팝업이 뜨질 않습니다.

  frm.method = "post";
  frm.submit();    
  }
</script>
</HEAD>
<BODY>
<form name="form">
테스트값1&nbsp;<input type=text name="test1" value=""><br>
테스트값2&nbsp;<input type=text name="test2" value=""><br><br>
<input type="button" name="button1" value="전 송" onclick="javascript:popup(this.form);">
</form>
</BODY>
</HTML>

<!------팝업 페이지---------------------->
<%
    test1 = request.form("test1")
    test2 = request.form("test2")
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<script language="javascript">
function closewin()
{
   self.close();
   }
</script>
</HEAD>
<BODY>
<h3>Popup Page</h3><br>
<h3>테스트값1:&nbsp;<%=test1%></h3><br>
<h3>테스트값2:&nbsp;<%=test2%></h3><br>
<input type="button" value="닫기" onclick="javascript:closewin()">
</BODY>
</HTML>

 

=================================

=================================

=================================

 

 

 

반응형

 

728x90

 

 



출처: http://www.okjsp.pe.kr/seq/94686

부모창의 정보를 팝업창으로 post방식으로 전달하기...질문
<%
// <!-- 결과 테이블 출력부분 -->
   while (rs_ftp_info.next()) {
%>
    <tr align="center"><font size="1">
       <td><%=rs_ftp_info.getString("ftp_info_no")%> </font></td>
       <td><%=rs_ftp_info.getString("routing_type")%> </font></td>
       <td><%=rs_ftp_info.getString("trans_type")%> </font></td>
    </tr>
<%   } // while 닫기



위와같이 결과를 여러 줄 출력하고 있습니다.

위에서  각 줄의 <%=rs_ftp_info.getString("ftp_info_no")%> 값을 클릭했을 때 팝업으로그 값과 관련된 상세 정보를 출력해 주고 싶어요.

목적은...만약 ftp_info_no값이 각각의 사원 코드라면 그 정보를 팝업에 넘겨서팝업에서 사원코드를 가지고 사원의 정보를 db에서 불러와 출력 하려구요..부모창은 변화가 없어야 겠죠..

문제는...전달되는 정보가 사용자에게 보이지 않는 즉, POST방식으로 전달 되어야 합니다.

어떻게 해야 부모창에서 팝업으로  정보를 전달할 수 있을지 모르겠어요.FORM TAG 에서 팝업창으로 SUBMIT하는 방법이 있을까요?아님.. < A href= 링크를 통해 post 방식으로 파라미터를 팝업창으로 전달하는 방법이 있는지...  어떻게 전달 해야 할지 모르겠어요.. 게다가 결과가 여러줄 이다보니.. 전달할 정보를 어떻게 담아야 할지도 모르겠고..그리고 어떻게 팝업에서 그 정보를 받을 수 있는지도요...

제가 초보자 입니다.뭘써서 어떻게 하라고 말로만 말씀해 주시면 못 알아 먹으니...자세히 알려 주시면 감사하겠습니다. ㅠㅠ

오늘도 감사합니다. (__)(^^)
 
tag는 게시물의 성격을 나타내는 키워드를 입력하는 공간입니다.
tag는 로그인 후 사용하실 수 있습니다.
 
  • window.open("", "POP", "width=600, height=400, scrollbars=yes");
    document.form1.action = "팝업주소.jsp";
    document.form1.target = "POP";
    document.form1.method = "post";
    document.form1.submit();
    팝업을 대상으로 서브밋을 해버리는거죠 ㅡㅡ;
    저도 잘 모르고 쓰다보니 그냥 무식하게 갑니다. ㅠㅠ
  • aspt
  • 2007-04-24 20:50:11
  • x
  • window.open의 "POP" 과 document.form1.target="POP" 이부분이 핵심입니다.
    POP이란 이름은 마음대로 고치셔도 되고요
  • aspt
  • 2007-04-24 20:51:04
  • x
  • [추가질문] 말씀하신데로 하니.. 정말 팝업 창에 post 방식으로 정보전달이 가능 했습니다.
    하지만 결과값은 보시다 시피 여러줄로 되어 있고 각 줄마다 고유의 값을 가지고 있어야 합니다. 즉 각 줄마다 고유의 값을 보내야 한다는 것이죠.. 어떻게 해야 각 줄마다 다른 값을 submit할수 있을지 모르겠어요. ㅠㅠ
    도와주세요~~
  • 초보
  • 2007-04-25 10:39:27
  • x
  • 각 줄마다 독립되게 값을 전달하시려면
    <form>선언한부분 안쪽(저는 주로 바로밑에)
    <input type="hidden" name="variable">
    이렇게 3개의 hidden값을 가질 수 있는 객체를 선언해주시고
    <td><%=rs_ftp_info.getString("ftp_info_no")%> </font></td> 이 줄을 아래와 같이 변경합니다.
    <td>
    <a href="#" onClick="자바스크립트펑션이름('<%=rs_ftp_info.getString('ftp_info_no')%>')"& gt;<%=rs_ftp_info.getString("ftp_info_no")%></a></font></td>
    이렇게 해서 자바스크립트 함수에 인자값을 넘기신후에

    function 펑션이름(var1){
    document.form1.variable.value = var1;
    +아래는 첫질문 답변,,,
    }
    으로 변경해주시면 팝업창에서 reqeust.getParameter("variable"); 이런식으로 값을 가져올 수 있죠.

    원리는 rs.next()에 의해 동적으로 변경되는 사원번호를 펑션의 인자값으로 기록해놓으신 후 hidden이라는 객체에 값을 기록시켜놓고 submit, 그 hidden객체 이름을 이용해 값을 돌려받으시는겁니다.
  • aspt
  • 2007-04-25 13:21:18
  • x
  • onClick 이벤트에서 ('<%rs_ftp_info.getString('ftp_info_no')%>') 이부분에서 혹 오류가 생길지도 모르겠네요.
  • aspt
  • 2007-04-25 13:23:32
  • x
  • 답변주신분들 모두 감사합니다. ^^

 

=================================

=================================

=================================

 

 



function openFlow(){
 window.open('','contFlow','scrollbars=yes,width=850,height=600,resizable=yes');
 document.flow.action = "/servlet/aaa";
 document.flow.target = "contFlow";
 document.flow.method = "post";
 document.flow.no.value = "aaa";
 document.flow.submit();
}

 

- 본문에는 form 선언하고 필요한 파라메터 넣어둠 -

<form name="flow" method="post" action ="">
<input type="hidden" name="no" value="">
</form>


=================================

=================================

=================================

 

 

반응형


관련글 더보기

댓글 영역