폼에 onsubmit 로하는거랑 action으로 하는거랑 차이점이 뭔가요? 정보
폼에 onsubmit 로하는거랑 action으로 하는거랑 차이점이 뭔가요?본문
게시판 스킨 만들다가.. 문제가 생겨서 질문올렸는데 답글도 못받고해서
여기다가 질문 올려봅니다...
http://sir.co.kr/bbs/board.php?bo_table=g4_qa&wr_id=167597#c_167613
스킨의 list.skin.php 파일에
<?
include ("$board_skin_path/write.skin.php");
?>
요렇게 해서 글쓰기 창을 삽입했는데요..
write.skin.php 에서
입력폼 부분을
<form name="fwrite" method="post" action="javascript:fwrite_check(document.fwrite);" enctype="multipart/form-data" autocomplete="off">
이렇게 하면 익플에선 정상동작하지만
크롬에선 엔터 두번 (또는 글쓰기 버튼 두번클릭)해야 입력이되고
<form name="fwrite" method="post" onsubmit="return fwrite_submit(this);" enctype="multipart/form-data" style="margin:0px;">
이렇게 하면 크롬에선 정상이지만..
익플에선 글이 2번 포스팅됩니다...
몇일째 인터넷 검색해보고있는데.. 해결법을 못찾겠네요. ㅜㅜ
혹시 이거 해결방법 아시면 꼭 좀 도와주세요 ...
부탁드립니다.. 굽신굽신
여기다가 질문 올려봅니다...
http://sir.co.kr/bbs/board.php?bo_table=g4_qa&wr_id=167597#c_167613
스킨의 list.skin.php 파일에
<?
include ("$board_skin_path/write.skin.php");
?>
요렇게 해서 글쓰기 창을 삽입했는데요..
write.skin.php 에서
입력폼 부분을
<form name="fwrite" method="post" action="javascript:fwrite_check(document.fwrite);" enctype="multipart/form-data" autocomplete="off">
이렇게 하면 익플에선 정상동작하지만
크롬에선 엔터 두번 (또는 글쓰기 버튼 두번클릭)해야 입력이되고
<form name="fwrite" method="post" onsubmit="return fwrite_submit(this);" enctype="multipart/form-data" style="margin:0px;">
이렇게 하면 크롬에선 정상이지만..
익플에선 글이 2번 포스팅됩니다...
몇일째 인터넷 검색해보고있는데.. 해결법을 못찾겠네요. ㅜㅜ
혹시 이거 해결방법 아시면 꼭 좀 도와주세요 ...
부탁드립니다.. 굽신굽신
추천
0
0
댓글 6개
onsubmit="return function()"
이거는 서브밋전에 funtion()을 호출하라는 것이니..
function() 내용중 폼을 서브밋하는 코드가 있어 한번 포스팅이 되었고..
이 함수의 리턴값이 true 이기 때문에
폼의 action 값으로 다시 한번 서브밋이 일어나 두번째 포스팅이 된것은 아닌지??
function() 리턴값을 강제로 false 가 되도록 해보시는 건 어떨런지??
크롬을 써본적이 없어서;; 어찌될런지 모르겠네요..
이거는 서브밋전에 funtion()을 호출하라는 것이니..
function() 내용중 폼을 서브밋하는 코드가 있어 한번 포스팅이 되었고..
이 함수의 리턴값이 true 이기 때문에
폼의 action 값으로 다시 한번 서브밋이 일어나 두번째 포스팅이 된것은 아닌지??
function() 리턴값을 강제로 false 가 되도록 해보시는 건 어떨런지??
크롬을 써본적이 없어서;; 어찌될런지 모르겠네요..
아.. 힌트 감사합니다....
펑션에서 WRITE_UPDATE.PHP 를 실행하고
SUBMIT을 하도록 되있는데
이거 두개 순서를 바꿔놓으니깐 되는거 같습니다.
자바스크립트는 잘 몰라서.. 이게 문제가 되는지는 모르겠지만...
ONSUBMIT 써서 글 작성은 일단 잘 되네요...
펑션에서 WRITE_UPDATE.PHP 를 실행하고
SUBMIT을 하도록 되있는데
이거 두개 순서를 바꿔놓으니깐 되는거 같습니다.
자바스크립트는 잘 몰라서.. 이게 문제가 되는지는 모르겠지만...
ONSUBMIT 써서 글 작성은 일단 잘 되네요...
ㄴㄴ
크롬에서 안되는게 아니라
익스에서만 되는거 아닌가요 ㅡㅡ;?
jquery 를 사용하시면 bind 를 이용해서 submit 옵션으로 해결 가능합니다
물론 jquery를 안써도 되긴 되지만 ㅡㅡ;
크롬에서 안되는게 아니라
익스에서만 되는거 아닌가요 ㅡㅡ;?
jquery 를 사용하시면 bind 를 이용해서 submit 옵션으로 해결 가능합니다
물론 jquery를 안써도 되긴 되지만 ㅡㅡ;
<form name="fwrite" method="post" onsubmit="return fwrite_check(this);" enctype="multipart/form-data" autocomplete="off">
이걸 사용하고
function fwrite_check(f)
{
var s = "";
if (f.wr_content.value == "내용을 입력해 주세요..."){
alert("내용을 입력해 주세요...")
return;
}
if (s = word_filter_check(f.wr_content.value)) {
alert("내용에 금지단어('"+s+"')가 포함되어있습니다");
return;
}
f.submit();
f.action = "./write_update.php";
}
이렇게 주었습니다.
글쓰기 2번 나오는 현상은 안생기는거 같긴 합니다..문제가 있는지는 더 만져봐야 .. ^^
이걸 사용하고
function fwrite_check(f)
{
var s = "";
if (f.wr_content.value == "내용을 입력해 주세요..."){
alert("내용을 입력해 주세요...")
return;
}
if (s = word_filter_check(f.wr_content.value)) {
alert("내용에 금지단어('"+s+"')가 포함되어있습니다");
return;
}
f.submit();
f.action = "./write_update.php";
}
이렇게 주었습니다.
글쓰기 2번 나오는 현상은 안생기는거 같긴 합니다..문제가 있는지는 더 만져봐야 .. ^^
억;; 안되네 ;; --;; ㅜㅜ
휴.. 해결했습니다.
답글 달아주신 분들 모두 감사드려요
답글 달아주신 분들 모두 감사드려요