wrest.js 폼전송 체크.. > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

wrest.js 폼전송 체크.. 정보

wrest.js 폼전송 체크..

본문

폼 작성과 전송에는 여러 방법이 있겠지만..
대략 0번--;; 가장단순한 폼..이므로 제외하고 1번과 2번이 있을수 있겠네요..

0번 : 아무런 체크도 안하고 (wrest.js에만 의존) 폼 전송
<form name='fwrite' method='post' action="./aa.php">
<input type=sutmit value='전송'>
</form>

1번 : 사용자가 작성한 스크립트와 wrest.js를 동시에 체크하고 폼전송
<form name='fwrite' method='post' action='./aa.php' onsubmit="return chk_fwrite(this);">
<input type=text required>
<inpu type=submit value='전송하기'>
<!--혹은 <input type=image src=''>
</form>


2.번 : 사용자가 죽어라 작성한 스크립트만 체크하고 폼전송..
<form name='fwrite' method='post' action='./aa.php' >
<input type=text required>
<inpu type=button value='전송하기' onclick="chk_fwrite2(document.fwrite);">
<!--혹은 <a href="javascript:chk_fwrite2(document.fwrite);">전송</a>-->
</form>

==공통 wrest파일..
<script language="javascript" src="<?=$d_path['path']?>/js/wrest.js"></script>
<script language='javascript'>
function chk_fwrite(f){
    return true;
}
function chk_fwrite2(f){
    f.submit();
}
</script>
1번과 2번의 차이는 뭘까요..
넹.. 읽어보신--; 분은 아시겠지만 1번은 wrest.js의 자동동작으로 인해 폼체크가 편하다는 거지요..
2번은??
스크립트 노가다를 해야합니다. ==;;
2번에서도 required 로 인해서 필수입력 아이콘은 표시되는데 막상 wrest.js의 체크는 무시하고 넘어갑니다.
2번에서도 wrest.js 파일에 의해서 자동으로 체크하고 싶다 하실때는..
다음과 같이 자바스크립트를 수정해 주시면됩니다.
function chk_fwrite2(f){
   if(f.onsubmit()){ //onsubmit을 하면 wrest가 동작하게 됩니다. return 값은 true 와 false
       f.submit();
   }
/* 다른 체크를 겸하고 싶을때는
if(f.onsubmit()){
   if(f.mb_id.value == 'admin'){
      alert("관리자 아이디는 안되요요");
      f.mb_id.focus();
      return;
   }
   f.submit();
}
*/
}
참 쉽죠잉~
이미지나 일반 버튼으로 할때는 1번이 편하고..
2번은 텍스트 혹은 css로 일반 링크형식으로 혹은 이미 submit버튼이나 input type=image를 사용해버렸을때!! 2번을 쓰게됩니다.
이렇게 되면 한개의 폼에서 두개의 submit 이벤트를 호출할 수 있어 각 상황에 맞게 폼을 전송하실 수 있겠습니당..
단 주의하실것은.. 1번의 form에서 onsubmit="return chk_fwrite();" 를 사용하였을경우
javascript 에서 결과 리턴은 return true; 혹은 return false; 가 되야 하지만.
2번의 경우는 실패일경우 return; 만 성공일경우 원하는 액션을 적어주시면 됩니다.
추천
0

댓글 2개

전체 3,313 |RSS
그누4 팁자료실 내용 검색

회원로그인

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