폼에 onsubmit 로하는거랑 action으로 하는거랑 차이점이 뭔가요? > 자유게시판

자유게시판

폼에 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번 포스팅됩니다...

몇일째 인터넷 검색해보고있는데.. 해결법을 못찾겠네요.  ㅜㅜ

혹시 이거 해결방법 아시면 꼭 좀 도와주세요 ...

부탁드립니다.. 굽신굽신
추천
0

댓글 6개

onsubmit="return function()"
이거는 서브밋전에 funtion()을 호출하라는 것이니..

function() 내용중 폼을 서브밋하는 코드가 있어 한번 포스팅이 되었고..

이 함수의 리턴값이 true 이기 때문에
폼의 action 값으로 다시 한번 서브밋이 일어나 두번째 포스팅이 된것은 아닌지??

function() 리턴값을 강제로 false 가 되도록 해보시는 건 어떨런지??

크롬을 써본적이 없어서;; 어찌될런지 모르겠네요..
아..  힌트 감사합니다....

펑션에서 WRITE_UPDATE.PHP  를 실행하고
SUBMIT을 하도록 되있는데
이거 두개 순서를 바꿔놓으니깐 되는거 같습니다.

자바스크립트는 잘 몰라서.. 이게 문제가 되는지는 모르겠지만...
ONSUBMIT 써서 글 작성은 일단 잘  되네요...
ㄴㄴ
크롬에서 안되는게 아니라
익스에서만 되는거 아닌가요 ㅡㅡ;?

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번 나오는 현상은 안생기는거 같긴 합니다..문제가 있는지는  더 만져봐야 .. ^^
전체 199,606 |RSS
자유게시판 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT