게시글 작성시 동의를 해야 작성 가능하게 하려고 하는데요~ 채택완료
안녕하세요 수고 많으십니다요~ 역시 혼자서 홈페이지 만들기는 ㅎㅎ 여러가지 무리가 많네요
흉내를 내보려해도 흉내도 이리 힘든지 ㅠㅠ
먼저 여기저기 찾아보니 회원가입 약관을 한번 참고하라는 말에
write.skin 에 아래처럼 작성을 해봤는데 ㅎㅎ 그냥 글이 써지네요 ㅠㅠ
-글쓰기 버튼-
<button type="submit" id="btn_submit" class="fa-button" accesskey='s'><i class="fa fa-save"></i> 글저장</button>
-체크박스-
<input type="checkbox" name="agree" value="1" id="agree11">
- 스크립트 -
<script>
function fregister_submit(f)
{
if (!f.agree.checked) {
alert("동의하셔야 글을 남길수 있습니다.");
f.agree.focus();
return false;
}
</script>
도와주세요 고수님들~~
답변 3개
스크립트를 위 처럼 하셨다면 그냥 글이 써지는 것이 당연합니다.
function fregister_submit(f) 는 회원 가입폼에서 사용하는 함수입니다.
글쓰기 스킨에서는 function fwrite_submit(f) 함수를 사용합니다.
그러므로,
write.skin 에서 아래처럼 하셔야 합니다.
function fwrite_submit(f) // 이 함수 영역에 아래 조건문을 넣으세요.
{
if (!f.agree.checked) {
alert("동의하셔야 글을 남길수 있습니다.");
f.agree.focus();
return false;
}
}
답변에 대한 댓글 3개
배추스킨은 function fwrite_submit(f) 함수 이름을 function fwrite_check(f) 로 바꾸어 놓았네요.
function fwrite_submit(f) (fwrite_check) 함수를 <form> 안에 이든 밖에 이든 새로 추가하는 것이 아닙니다.
배추스킨의 write.skin 의 하단 부분에 보시면 function fwrite_check(f) 이런 함수가 이미 있습니다.
function fwrite_check(f) 이 함수 영역에는 폼 유효성을 검사하는 다른 내용들도 이미 많이 있습니다.
그러므로
function fwrite_check(f)
{
}
이 함수의 영역에
if (!f.agree.checked) {
alert("동의하셔야 글을 남길수 있습니다.");
f.agree.focus();
return false;
}
이 내용만 새로 추가하시면 됩니다.
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
질문 내용만으로는 문제점을 찝어드리기 어렵네요
아마 체크박스 테그가
<form>과 </form> 테그 사이에 있지 않고 그 밖에 있는거 같습니다
확인해보세요
그렇기 때문에 조건문이 무시되어 그냥 통과되버리는 현상이 생기는거 같네요
정확한것은 F12를 눌러 개발자모드로 디버깅을 해보시는것입니다.
답변에 대한 댓글 3개
if(f.agree.checked == false) 로 변경도 해보세요
제가 난독증인가봐요..
아니 난독증이 아니라 당연히 폼테그부분의 네임이나 onsubmit 부분에서 콜하는 자바함수부분을 의심하지 않은거네요 하하-0-
아무튼 선우님의 답변도 참고하셔요
선우님의 말씀이 맞을거 같네요
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
먼저 <form> 안에
<fieldset class="fwrite_agree">
<label for="agree">약관에 동의하세요</label>
<input type="checkbox" name="agree" value="1" id="agree">
</fieldset>
이걸 넣고
<script>
function fwrite_submit(f) // 이 함수 영역에 아래 조건문을 넣으세요.
{
if (!f.agree.checked) {
alert("동의하셔야 글을 남길수 있습니다.");
f.agree.focus();
return false;
}
}
</script>
을 넣엇는데 안되네요 ㅠㅠ 그래서 스크립트만 </form> 밖으로 빼봤는데 안되네요
참고로 배추스킨을 사용중에 있습니다