테스트 사이트 - 개발 중인 베타 버전입니다

게시글 작성시 동의를 해야 작성 가능하게 하려고 하는데요~ 채택완료

ideaman 10년 전 조회 4,385

안녕하세요 수고 많으십니다요~ 역시 혼자서 홈페이지 만들기는 ㅎㅎ 여러가지 무리가 많네요

 

흉내를 내보려해도 흉내도 이리 힘든지 ㅠㅠ

 

먼저 여기저기 찾아보니 회원가입 약관을 한번 참고하라는 말에

 

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개

채택된 답변
+20 포인트
10년 전

스크립트를 위 처럼 하셨다면 그냥 글이 써지는 것이 당연합니다.

 

 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개

i
ideaman
10년 전
친절한 답변 감사합니다 근데 잘 안되네요 ㅠㅠ

먼저 <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> 밖으로 빼봤는데 안되네요

참고로 배추스킨을 사용중에 있습니다
선우善友
10년 전
지금 확인해 보니,
배추스킨은 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;
}
이 내용만 새로 추가하시면 됩니다.
i
ideaman
10년 전
완벽히 잘됩니다 너무 너무 감사합니다 ^^

댓글을 작성하려면 로그인이 필요합니다.

10년 전

자바 스크립트에서만 해주시지마시고 write_update.php 에서도 허락해주셔야합니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

i
ideaman
10년 전
엇 잘작동하던데 거긴 왜 건들어야하나요?

댓글을 작성하려면 로그인이 필요합니다.

슈퍼노비스

질문 내용만으로는 문제점을 찝어드리기 어렵네요

 

아마 체크박스 테그가

<form>과 </form> 테그 사이에 있지 않고 그 밖에 있는거 같습니다

확인해보세요

 

그렇기 때문에 조건문이 무시되어 그냥 통과되버리는 현상이 생기는거 같네요

 

정확한것은 F12를 눌러 개발자모드로 디버깅을 해보시는것입니다.

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

단지얍
10년 전
<form>과 </form> 사이에 있다면
if(f.agree.checked == false) 로 변경도 해보세요
단지얍
10년 전
글작성시였네요..
제가 난독증인가봐요..
아니 난독증이 아니라 당연히 폼테그부분의 네임이나 onsubmit 부분에서 콜하는 자바함수부분을 의심하지 않은거네요 하하-0-
아무튼 선우님의 답변도 참고하셔요
선우님의 말씀이 맞을거 같네요
i
ideaman
10년 전
답변 주셔서 너무 감사합니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인