[JavaScript] 새로 띄운 창의 데이터를 현재 창으로 가져오기
틀리면 비밀번호가 틀리다는 메세지를 띄워주는 방법이다
[원래 창]
[스크립트 부분]
<script language="JavaScript">
function passwordCheck() {
window.open("/Spring_BBS/password_check.chobo", "",
"width=400, height=200, history=no, resizable=no, status=no, scrollbars=no");
}
function inputPassword(password) {
if(${boardBean.password} == password) {
document.frm.submit();
} else {
alert("비밀번호를 다시 확인해 주세요");
}
}
[버튼 부분]
<input type="button" value="수정" onClick="modifyArticle()" />
document.frm.action = "/Spring_BBS/modify.chobo";
=> 수정 / 삭제 등 여러 액션이 있을수 있으므로 먼저 액션을 지정해 주고 비밀번호를 체크 한다
window.open("/Spring_BBS/password_check.chobo", "",
"width=400, height=200, history=no, resizable=no, status=no, scrollbars=no");
=> window.open 이라는 문법을 사용해서 새창을 띄워준다 // window.open("URI", "ID", "OPTION")function inputPassword(password) {
if(${boardBean.password} == password) {
document.frm.submit();
} else {
alert("비밀번호를 다시 확인해 주세요");
}
}
=> 새로 띄운 창에서 값을 넘겨받을 함수[새 창]
<head>
<script language="JavaScript">
<!--
function inputPassword() {
var password = document.frm.pass.value;
window.opener.inputPassword(password);
self.close();
}
-->
</script>
</head>
<body>
<form method="get" name="frm">
<table border="2" align="center">
<tr>
<td align="center">
비밀번호를 입력하세요
</td>
</tr>
<tr>
<td align="center">
<input type="password" name="pass" />
<input type="button" value="확인" onClick="inputPassword()" />
</td>
</tr>
</table>
</form>
</body>
=> 비밀번호를 입력하고 버튼을 누르면 inputPassword() 함수를 실행한다
function inputPassword() {
var password = document.frm.pass.value;
window.opener.inputPassword(password);
self.close();
}
=> document.frm.pass.value 로 입력된 값을 읽어오고window.opener.inputPassword(password) 로 입력된 값을 원래 창의 함수로 넘겨주고 새창을 닫아 버린다
가장 핵심이 되는 부분이다 window.opener.inputPassword(password)
DB에 접속해서 원래 비밀번호를 읽어오는 부분은 생략 ㅎ
어쨌든 그래서 결과 화면이다..
[리스트]
[글 읽기]
[새로 띄운 창]
[비밀번호가 맞을 경우 수정 화면]
[비밀번호가 틀릴 경우]