인터넷정보

하나의 폼에서 여러버튼, 이미지버튼을 사용하기,스크립트 변수 날리기

알 수 없는 사용자 2007. 10. 18. 14:26
김종연
http://sy.to



고민남2님의 설명을 보충해볼까 합니다.
javascript 와 form tag를 이용한 multi action submit 은 이미 여러번 올라왔던 내용입니다.
그럼 간단하게 예를 한번 들어보겠습니다.
두개의 action을 javascript로 이용한 submit입니다.
<script>
function myform(idx){
if(idx == 1){
document.mymy.action="next_file1.html";
}
if(idx == 2){
document.mymy.action="next_file2.html";
}
}
</script>
<form name="mymy" method="post">
<input type="button" onclick="myform(1)">
<input type="button" onclick="myform(2)">
</form>
이렇게 할 경우 각각의 next_file1.html 과 next_file2.html 로 한개의 폼으로 각각 다른 파일로
submit 이 가능합니다. 물론 이러한 예문은 기본형에 가깝습니다.
약간의 응용을 한다면 이런 기본형의 form문에서 target도 지정할 수 가 있습니다.
힌트는 referer를 window.open에서 받기 위한 방법으로서 팁택에도 referer 로 검색하시면
나옵니다.
예문을 들어 보겠습니다.
<script>
function myform(idx){
if(idx == 1){
document.mymy.target='';
document.mymy.action="next_file1.html";
}
if(idx == 2){
document.mymy.target='_blank';
document.mymy.action="next_file2.html";
}
if(idx == 3){
var Win= window.open('','mytarget','width=500,height=500,top=100,left=100,scrollbar=no');
document.mymy.target='mytarget';
document.mymy.action="next_file2.html";
}
}
</script>
<form name="mymy" method="post">
<input type="button" onclick="myform(1)">
<input type="button" onclick="myform(2)">
<input type="button" onclick="myform(3)">
</form>
이렇게 하면 3번째 버튼을 클릭할 경우 같은 폼의 내용이라도 window.open으로
연결해서 열수도 있고 referer도 찍혀서 나옵니다.
html과 javascript를 잘 활용하면 serverscript 의 부족한 부분을 아주 알차게
매울 수 있습니다.
이 이외의 다양한 활용법도 많기 때문에 다 소개는 못해드리지만
참고 사항이 되셨으면 하는 바램입니다.
반응형