=======================
=======================
=======================
출처: 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 <input type=text name="test1" value=""><br>
테스트값2 <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: <%=test1%></h3><br>
<h3>테스트값2: <%=test2%></h3><br>
<input type="button" value="닫기" onclick="javascript:closewin()">
</BODY>
</HTML>
=======================
=======================
=======================
출처: 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는 로그인 후 사용하실 수 있습니다.
- 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>
=======================
=======================
=======================
'WEB > JavaScript' 카테고리의 다른 글
페이지 실행시 자바 스크립트 함수 실행 (0) | 2011.04.01 |
---|---|
window.open 으로 열린 창에 대해 닫혔는지 확인하기 (0) | 2011.04.01 |
[showModalDialog 부모에서 다이얼로그로 값 전달하기] - dialogArguments (0) | 2011.04.01 |
자바스크립트 부모창에서 자식창으로 값을 전달하기 (0) | 2011.04.01 |
asp value(값) html과 자바스크립트 넘기기 (0) | 2010.01.14 |