이 방법은 위 두가지 방법과 달리 자바스크립트를 이용하는 것인데 새로운 창의 디폴트 속성을 사용하는 것이 아니고 속성을 변경한 브라우저 창을 띄우고 싶을 때 유용한 기능이다.
<SCRIPT>
function openTarget (objForm, strFeatures, strWindowName) {
// 새로운 창 이름이 없으면...
if (!strWindowName)
// formTarget이란 문자열에 현재 시간을 붙인 이름 부여
strWindowName = 'formTarget' + (new Date().getTime());
// 폼의 target 속성 부여
objForm.target = strWindowName;
open ('', strWindowName, strFeatures);
}
</SCRIPT>
...
...
<form name="myForm" method="post" action="formProcess.asp"
ONSUBMIT="openTarget(this, 'width=300,height=300,resizable=1,scrollbars=1'); return true;">
...
...
</form>
<form>의 onsubmit 이벤트 발생시 openTarget이란 사용자 정의 함수를 호출한다. 이 함수에서 새로운 창을 띄우는데 디폴트 창이 아니라 가로, 세로 크기 등을 조절한 창을 띄운다. 위의 openTarget이란 함수에서 가장 핵심은 objForm.target 부분이다. 즉 폼 객체의 target 속성에 새로운 창 이름을 지정해 주면 되는 것이다.
자바스크립트에서 새로운 창을 열 때의 속성에 대해 좀 더 자세히 알고 싶은 사람은 다음 글을 참고하기 바란다
<SCRIPT>
function openTarget (objForm, strFeatures, strWindowName) {
// 새로운 창 이름이 없으면...
if (!strWindowName)
// formTarget이란 문자열에 현재 시간을 붙인 이름 부여
strWindowName = 'formTarget' + (new Date().getTime());
// 폼의 target 속성 부여
objForm.target = strWindowName;
open ('', strWindowName, strFeatures);
}
</SCRIPT>
...
...
<form name="myForm" method="post" action="formProcess.asp"
ONSUBMIT="openTarget(this, 'width=300,height=300,resizable=1,scrollbars=1'); return true;">
...
...
</form>
<form>의 onsubmit 이벤트 발생시 openTarget이란 사용자 정의 함수를 호출한다. 이 함수에서 새로운 창을 띄우는데 디폴트 창이 아니라 가로, 세로 크기 등을 조절한 창을 띄운다. 위의 openTarget이란 함수에서 가장 핵심은 objForm.target 부분이다. 즉 폼 객체의 target 속성에 새로운 창 이름을 지정해 주면 되는 것이다.
자바스크립트에서 새로운 창을 열 때의 속성에 대해 좀 더 자세히 알고 싶은 사람은 다음 글을 참고하기 바란다