jquery wrest.js 적용 후 그누보드 아닌 일반 php 폼에서 required 적용하는 방법 문의 정보
jquery wrest.js 적용 후 그누보드 아닌 일반 php 폼에서 required 적용하는 방법 문의
본문
http://www.sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=21135
이 팁을 따라 wrest.js 파일을 교체하고 skin/board 안에 있는 write.skin.php, 코멘트스킨 등을 수정했습니다.
게시판에서는 required 가 적용이 잘 되는데,
제가 만든 일반 php 에서는 required 가 적용이 안 되는데 무슨 이유일까요.
wrest.js 는 tail.sub.php 에 인클루드 되어 있고, 폼이 있는 페이지에도 tail.sub.php 가 인클루드 되어 있는데요...
아래는 일반 php 페이지의 form 소스입니다.
<form name="form_book_app" method="post" action="<?=$g4[path]?>/updatequery/form_book_update.php">
<input type="hidden" name="mode" value="1" />
<input type="hidden" name="apptype" value="1" />
<table class="basic">
<colgroup>
<col width="120px" />
<col />
</colgroup>
<tr>
<th colspan="2">교재신청</th>
</tr>
<tr>
<td class="subtitle alignright irisred">교재명(코드)</td>
<td><input type="text" name="form_book_code" size="50" readonly="readonly" style="background:#eee" /></td>
</tr>
<tr>
<td class="subtitle alignright">학교</td>
<td><input type="text" name="form_book_school" title="학교" class="required" /> ex)강남초등학교, 대치초</td>
</tr>
<tr>
<td class="subtitle alignright">학년</td>
<td><input type="text" name="form_book_grade" title="학년" class="required" /></td>
</tr>
<tr>
<td class="subtitle alignright">반</td>
<td><input type="text" name="form_book_class" /></td>
</tr>
<tr>
<td class="subtitle alignright">학생이름</td>
<td><input type="text" name="form_book_name" title="학생이름" class="required" /></td>
</tr>
</table>
<p class="aligncenter"><input type="submit" value="신청하기" /></p>
</form>
의도한대로라면 학교, 학년, 학생이름이 공란일 경우 알림창이 떠야 하는데 그냥 넘어가 버리네요...
고수님들의 도움 부탁드립니다.
이 팁을 따라 wrest.js 파일을 교체하고 skin/board 안에 있는 write.skin.php, 코멘트스킨 등을 수정했습니다.
게시판에서는 required 가 적용이 잘 되는데,
제가 만든 일반 php 에서는 required 가 적용이 안 되는데 무슨 이유일까요.
wrest.js 는 tail.sub.php 에 인클루드 되어 있고, 폼이 있는 페이지에도 tail.sub.php 가 인클루드 되어 있는데요...
아래는 일반 php 페이지의 form 소스입니다.
<form name="form_book_app" method="post" action="<?=$g4[path]?>/updatequery/form_book_update.php">
<input type="hidden" name="mode" value="1" />
<input type="hidden" name="apptype" value="1" />
<table class="basic">
<colgroup>
<col width="120px" />
<col />
</colgroup>
<tr>
<th colspan="2">교재신청</th>
</tr>
<tr>
<td class="subtitle alignright irisred">교재명(코드)</td>
<td><input type="text" name="form_book_code" size="50" readonly="readonly" style="background:#eee" /></td>
</tr>
<tr>
<td class="subtitle alignright">학교</td>
<td><input type="text" name="form_book_school" title="학교" class="required" /> ex)강남초등학교, 대치초</td>
</tr>
<tr>
<td class="subtitle alignright">학년</td>
<td><input type="text" name="form_book_grade" title="학년" class="required" /></td>
</tr>
<tr>
<td class="subtitle alignright">반</td>
<td><input type="text" name="form_book_class" /></td>
</tr>
<tr>
<td class="subtitle alignright">학생이름</td>
<td><input type="text" name="form_book_name" title="학생이름" class="required" /></td>
</tr>
</table>
<p class="aligncenter"><input type="submit" value="신청하기" /></p>
</form>
의도한대로라면 학교, 학년, 학생이름이 공란일 경우 알림창이 떠야 하는데 그냥 넘어가 버리네요...
고수님들의 도움 부탁드립니다.
댓글 전체
wrest.js 마지막 부분에 보면 onsubmit을 가로챈다라는 말이 잇을 겁니다
즉 onsubmit이 실핼되기전에 필수입력 체크를 한다는 말입니다
그러니 form에 onsubmit 이 설정 되어야 하는 거죠
기본 write.skin.php의 form 설정을 보고 따라하면 됩니다
즉 onsubmit이 실핼되기전에 필수입력 체크를 한다는 말입니다
그러니 form에 onsubmit 이 설정 되어야 하는 거죠
기본 write.skin.php의 form 설정을 보고 따라하면 됩니다

답변 감사합니다. write.skin.php 를 따라서 onsubmit 도 넣고 시도를 해봤었는데 아예 신청자체가 안되더라구요... 일단 다시 한번 해볼께요...;;

일단 form_book_app.php 에 php로 값이 입력됐는지 확인하는 것으로 처리했습니다.
jmpopup 이랑 wrest.js 가 충돌이 있나봅니다.
jmpopup 이랑 wrest.js 가 충돌이 있나봅니다.

onsubmit 을 안하고 action 으로 넘겨도 유효성 검사는 되네요.
실행이 안 된 이유는 http://code.google.com/p/jmpopups/ 의 플러그인을 사용해서
팝업레이어를 띄워서 그런 것 같습니다.
팝업레이어로 보여줄 때는 실행이 안 되는데 팝업레이어가 아닐 때는 검사가 되네요;;
아마도 레이어 display:none 속성이 들어가서 그런거 아닌가 싶은데...
실행이 안되는 코드 첫 줄에 style="display:none" 이 들어가있음,
이 style="display:none" 을 빼면 실행이 되네요... 이거 참...
<div id="all_popup" style="display:none">
<div class="all_popup_box">
<form name="form_book_app" method="post" action="<?=$g4[path]?>/updatequery/form_book_update.php">
<input type="hidden" name="mode" value="1" />
<input type="hidden" name="apptype" value="1" />
<table class="basic">
<colgroup>
<col width="120px" />
<col />
</colgroup>
<tr>
<th colspan="2">교재신청</th>
</tr>
<tr>
<td class="subtitle alignright irisred">교재명(코드)</td>
<td><input type="text" name="form_book_code" size="50" readonly="readonly" style="background:#eee" /></td>
</tr>
<tr>
<td class="subtitle alignright">학교</td>
<td><input type="text" name="form_book_school" title="학교" class="required" /> ex)강남초등학교, 대치초</td>
</tr>
<tr>
<td class="subtitle alignright">학년</td>
<td><input type="text" name="form_book_grade" title="학년" class="required" /></td>
</tr>
<tr>
<td class="subtitle alignright">반</td>
<td><input type="text" name="form_book_class" /></td>
</tr>
<tr>
<td class="subtitle alignright">학생이름</td>
<td><input type="text" name="form_book_name" title="학생이름" class="required" /></td>
</tr>
</table>
<p class="aligncenter"><input type="submit" value="신청하기" /></p>
</form>
<p>
<span class="bold">*</span> 신청 교재는 <a href="<?=$g4[path]?>/bbs/board.php?bo_table=datasend?sfl=wr_10&stx=<?=$member[mb_id]?>">교재다운로드</a>나, 시스템 알림을 통해 다운받으실 수 있습니다.<br />
<span class="bold">*</span> 주변 회색영역을 클릭하시면 이 화면을 닫을 수 있습니다.
</p>
</div>
</div>
실행이 안 된 이유는 http://code.google.com/p/jmpopups/ 의 플러그인을 사용해서
팝업레이어를 띄워서 그런 것 같습니다.
팝업레이어로 보여줄 때는 실행이 안 되는데 팝업레이어가 아닐 때는 검사가 되네요;;
아마도 레이어 display:none 속성이 들어가서 그런거 아닌가 싶은데...
실행이 안되는 코드 첫 줄에 style="display:none" 이 들어가있음,
이 style="display:none" 을 빼면 실행이 되네요... 이거 참...
<div id="all_popup" style="display:none">
<div class="all_popup_box">
<form name="form_book_app" method="post" action="<?=$g4[path]?>/updatequery/form_book_update.php">
<input type="hidden" name="mode" value="1" />
<input type="hidden" name="apptype" value="1" />
<table class="basic">
<colgroup>
<col width="120px" />
<col />
</colgroup>
<tr>
<th colspan="2">교재신청</th>
</tr>
<tr>
<td class="subtitle alignright irisred">교재명(코드)</td>
<td><input type="text" name="form_book_code" size="50" readonly="readonly" style="background:#eee" /></td>
</tr>
<tr>
<td class="subtitle alignright">학교</td>
<td><input type="text" name="form_book_school" title="학교" class="required" /> ex)강남초등학교, 대치초</td>
</tr>
<tr>
<td class="subtitle alignright">학년</td>
<td><input type="text" name="form_book_grade" title="학년" class="required" /></td>
</tr>
<tr>
<td class="subtitle alignright">반</td>
<td><input type="text" name="form_book_class" /></td>
</tr>
<tr>
<td class="subtitle alignright">학생이름</td>
<td><input type="text" name="form_book_name" title="학생이름" class="required" /></td>
</tr>
</table>
<p class="aligncenter"><input type="submit" value="신청하기" /></p>
</form>
<p>
<span class="bold">*</span> 신청 교재는 <a href="<?=$g4[path]?>/bbs/board.php?bo_table=datasend?sfl=wr_10&stx=<?=$member[mb_id]?>">교재다운로드</a>나, 시스템 알림을 통해 다운받으실 수 있습니다.<br />
<span class="bold">*</span> 주변 회색영역을 클릭하시면 이 화면을 닫을 수 있습니다.
</p>
</div>
</div>