write_skin.php 에서 여유필드(wr_3) 와 링크(wr_link1)을 연계한 스크립트 작성시.. 정보
write_skin.php 에서 여유필드(wr_3) 와 링크(wr_link1)을 연계한 스크립트 작성시..본문
참고. 그누버젼은 최신버젼이고 스킨도 기본스킨으로 작업중 !!
게시판스킨의 write.skin.php 파일내 라인(150~)부분에
wr_3 여유필드값을 추가하고 checkbox를 하나 만들어 넣었습니다.
그리고 링크부분을 1개만 사용가능하도록 수정했고요.
wr_3의 값이 체크된경우,
chklink()를 실행해서 '링크주소'를 입력하라는 스크립트 창을 띄워주고
'wr_link1'에 커서가 위치하도록 했습니다.
... 위 까지는 별 이상없이 됩니다만,
문제는
wr_3이 체크된경우에는 '링크(wr_link1)'에도 반드시 값이 입력되도록하고 싶은데 그게 안되는군요
현재는 wr_3 의 체크유무와 상관없이 wr_link1 의 값이 있던 없던간에
글쓰기확인버튼을 누르면 게시물이 그냥 저장됩니다.
wr_3 의 체크박스가 체크된경우, wr_link1 에도 반드시 값을 입력하고
그렇지 않으면 글쓰기가 되지 않도록 처리하려면 어떻게 해야할런지요??
도움글을 부탁드려봅니다.
----------- 아래는 관련 코드 내용 입니다 -----------------
<script type="text/javascript">
function chklink(a){
if(a.checked){
alert('게시물링크를 선택하셨습니다\n아래의 링크주소에 \"게시물 원래주소\"를 복사해서 붙여넣기 해주세요');
document.fwrite.wr_link1.focus();
// document.fwrite.wr_link1.style.backgroundColor='#333;'; (?? 잘못된코드)
return false;
}
}
</script>
<tr>
<td>외부링크</td>
<td>
<input type=checkbox name='wr_3' value='1' <? if($write[wr_3] == "1") echo "checked"; ?> onclick="chklink(this);">
- 저작권이 의심되는 자료(이미지, 뉴스글, 기타) 는 링크만 걸어주세요 (제목과 내용은 간단히 기입)<br />
</td>
</tr>
<? } ?>
<? if ($is_link) { // 링크 1개만 표시 ?>
<tr>
<td>링크</td>
<td><input type='text' class='ed' size=50 name='wr_link1' itemname='링크' value='<?=$write["wr_link1"]?>'></td>
</tr>
게시판스킨의 write.skin.php 파일내 라인(150~)부분에
wr_3 여유필드값을 추가하고 checkbox를 하나 만들어 넣었습니다.
그리고 링크부분을 1개만 사용가능하도록 수정했고요.
wr_3의 값이 체크된경우,
chklink()를 실행해서 '링크주소'를 입력하라는 스크립트 창을 띄워주고
'wr_link1'에 커서가 위치하도록 했습니다.
... 위 까지는 별 이상없이 됩니다만,
문제는
wr_3이 체크된경우에는 '링크(wr_link1)'에도 반드시 값이 입력되도록하고 싶은데 그게 안되는군요
현재는 wr_3 의 체크유무와 상관없이 wr_link1 의 값이 있던 없던간에
글쓰기확인버튼을 누르면 게시물이 그냥 저장됩니다.
wr_3 의 체크박스가 체크된경우, wr_link1 에도 반드시 값을 입력하고
그렇지 않으면 글쓰기가 되지 않도록 처리하려면 어떻게 해야할런지요??
도움글을 부탁드려봅니다.
----------- 아래는 관련 코드 내용 입니다 -----------------
<script type="text/javascript">
function chklink(a){
if(a.checked){
alert('게시물링크를 선택하셨습니다\n아래의 링크주소에 \"게시물 원래주소\"를 복사해서 붙여넣기 해주세요');
document.fwrite.wr_link1.focus();
// document.fwrite.wr_link1.style.backgroundColor='#333;'; (?? 잘못된코드)
return false;
}
}
</script>
<tr>
<td>외부링크</td>
<td>
<input type=checkbox name='wr_3' value='1' <? if($write[wr_3] == "1") echo "checked"; ?> onclick="chklink(this);">
- 저작권이 의심되는 자료(이미지, 뉴스글, 기타) 는 링크만 걸어주세요 (제목과 내용은 간단히 기입)<br />
</td>
</tr>
<? } ?>
<? if ($is_link) { // 링크 1개만 표시 ?>
<tr>
<td>링크</td>
<td><input type='text' class='ed' size=50 name='wr_link1' itemname='링크' value='<?=$write["wr_link1"]?>'></td>
</tr>
댓글 전체
참고로,
write.skin.php 하단 스크립트 부분(라인 360~)에 관련 체크값 스크립트를 넣어보면
'wr_3이 정의되지 않았습니다'라는 스크립트 에러창이 실행되고 이어서,
'글쓰기시에는 $wr_id 값을 사용하지 않습니다'라는 메세지가 출력되어
제대로 처리가 안되는군요. 코드의 위치문제인지.. -_- ;; ......
------ 원래코드 ---------------
if (subject) {
alert("제목에 금지단어('"+subject+"')가 포함되어있습니다");
f.wr_subject.focus();
return false;
}
if (content) {
alert("내용에 금지단어('"+content+"')가 포함되어있습니다");
if (typeof(ed_wr_content) != "undefined")
ed_wr_content.returnFalse();
else
f.wr_content.focus();
return false;
}
--------- 수정(추가) 코드 ---------------------------
if (subject) {
alert("제목에 금지단어('"+subject+"')가 포함되어있습니다");
f.wr_subject.focus();
return false;
}
if (content) {
alert("내용에 금지단어('"+content+"')가 포함되어있습니다");
if (typeof(ed_wr_content) != "undefined")
ed_wr_content.returnFalse();
else
f.wr_content.focus();
return false;
}
if(wr_3.checked && !f.wr_link1) {
alert("링크주소를 입력하세요");
return false;
}
write.skin.php 하단 스크립트 부분(라인 360~)에 관련 체크값 스크립트를 넣어보면
'wr_3이 정의되지 않았습니다'라는 스크립트 에러창이 실행되고 이어서,
'글쓰기시에는 $wr_id 값을 사용하지 않습니다'라는 메세지가 출력되어
제대로 처리가 안되는군요. 코드의 위치문제인지.. -_- ;; ......
------ 원래코드 ---------------
if (subject) {
alert("제목에 금지단어('"+subject+"')가 포함되어있습니다");
f.wr_subject.focus();
return false;
}
if (content) {
alert("내용에 금지단어('"+content+"')가 포함되어있습니다");
if (typeof(ed_wr_content) != "undefined")
ed_wr_content.returnFalse();
else
f.wr_content.focus();
return false;
}
--------- 수정(추가) 코드 ---------------------------
if (subject) {
alert("제목에 금지단어('"+subject+"')가 포함되어있습니다");
f.wr_subject.focus();
return false;
}
if (content) {
alert("내용에 금지단어('"+content+"')가 포함되어있습니다");
if (typeof(ed_wr_content) != "undefined")
ed_wr_content.returnFalse();
else
f.wr_content.focus();
return false;
}
if(wr_3.checked && !f.wr_link1) {
alert("링크주소를 입력하세요");
return false;
}
if(f.wr_3.checked && !f.wr_link1) {
alert("링크주소를 입력하세요");
return false;
}
앞에 폼네임 지정이 없네요..
위처럼 해보세요
alert("링크주소를 입력하세요");
return false;
}
앞에 폼네임 지정이 없네요..
위처럼 해보세요
댓글 감사합니다. ^^
폼네임을 생각하지 못했네요 ^^.... 어쨋던 알려주신 코드를 적용해봤습니다만,
스크립트 에러 메세지는 사라지긴 했는데
alert 창도 실행이 되지 않을뿐더러 ... 해당코드를 체크하지 않고 그냥 넘어가 버리는군요....
여전히 뭔가 문제가 있는거 같습니다.
폼네임을 생각하지 못했네요 ^^.... 어쨋던 알려주신 코드를 적용해봤습니다만,
스크립트 에러 메세지는 사라지긴 했는데
alert 창도 실행이 되지 않을뿐더러 ... 해당코드를 체크하지 않고 그냥 넘어가 버리는군요....
여전히 뭔가 문제가 있는거 같습니다.
if(f.wr_3.checked == true && !f.wr_link1.value) {
alert("링크주소를 입력하세요");
return false;
}
일케 해보세요
alert("링크주소를 입력하세요");
return false;
}
일케 해보세요
질문책택후, 약간의 문제가 하나 생겨서 글 올립니다. -_- ;;
맨처음 코드에서 .... 회원레벨 지정을 통해서 (질문시 레별관련 코드 한줄이 빠져있었네요..)
지정된 레벨이상에게만 'wr_3'의 기능을 사용할수 있도록 지정했을경우, (아래)
<? if ($member[mb_level] >= 3) { // 외부링크(wr_3) 사용권한 지정 ?>
<tr>
<td>외부링크</td>
<td>
<input type=checkbox name='wr_3' value='1' <? if($write[wr_3] == "1") echo "checked"; ?> onclick="chklink(this);">
- 저작권이 의심되는 자료(이미지, 뉴스글, 기타) 는 링크만 걸어주세요 (제목과 내용은 간단히 기입)<br />
</td>
</tr>
<? } ?>
그런데... wr_3 사용권한이 없는 경우 글쓰기를 하면 도움주신 아래 코드에서 다시 에러를 일으킵니다
if(f.wr_3.checked == !f.wr_link1.value) {
alert("링크주소를 입력하세요");
f.wr_link1.focus();
return false;
}
스크립트 에러창에 나타나는 내용은 ...
'checked'속성값을 가져올수 없습니다'
'$wr_id'값을 사용할수 없습니다......... 가 다시 나타나는군요.
지정된 권한보다 낮은 경우,
'wr_3'의 내용값 자체가 보여지지 않음으로 인해서
위의 'if(f.wr_3.checked == !f.wr_link1.value) { .....' 와 관련한 스크립트 코드를 처리하지 못하는 문제와
권한지정 해주어도 wr_3의 체크값을 주지않고 '링크주소'만 입력했을경우...
선택사항인 'wr_3' 을 무조건 체크해야만 하는 문제가 발생하는듯합니다.
도움을 좀 주시겠습니까????
맨처음 코드에서 .... 회원레벨 지정을 통해서 (질문시 레별관련 코드 한줄이 빠져있었네요..)
지정된 레벨이상에게만 'wr_3'의 기능을 사용할수 있도록 지정했을경우, (아래)
<? if ($member[mb_level] >= 3) { // 외부링크(wr_3) 사용권한 지정 ?>
<tr>
<td>외부링크</td>
<td>
<input type=checkbox name='wr_3' value='1' <? if($write[wr_3] == "1") echo "checked"; ?> onclick="chklink(this);">
- 저작권이 의심되는 자료(이미지, 뉴스글, 기타) 는 링크만 걸어주세요 (제목과 내용은 간단히 기입)<br />
</td>
</tr>
<? } ?>
그런데... wr_3 사용권한이 없는 경우 글쓰기를 하면 도움주신 아래 코드에서 다시 에러를 일으킵니다
if(f.wr_3.checked == !f.wr_link1.value) {
alert("링크주소를 입력하세요");
f.wr_link1.focus();
return false;
}
스크립트 에러창에 나타나는 내용은 ...
'checked'속성값을 가져올수 없습니다'
'$wr_id'값을 사용할수 없습니다......... 가 다시 나타나는군요.
지정된 권한보다 낮은 경우,
'wr_3'의 내용값 자체가 보여지지 않음으로 인해서
위의 'if(f.wr_3.checked == !f.wr_link1.value) { .....' 와 관련한 스크립트 코드를 처리하지 못하는 문제와
권한지정 해주어도 wr_3의 체크값을 주지않고 '링크주소'만 입력했을경우...
선택사항인 'wr_3' 을 무조건 체크해야만 하는 문제가 발생하는듯합니다.
도움을 좀 주시겠습니까????
wr_3 값이 아예 노출 되지 않는 경우
if (typeof f.wr_3 != 'undefined') {
if(f.wr_3.checked == true && !f.wr_link1.value) {
alert("링크주소를 입력하세요");
return false;
}
}
위와 같이 undefined 체크해서 존재할경우만 스크립트 실행하도록 하시면 됩니다.
if (typeof f.wr_3 != 'undefined') {
if(f.wr_3.checked == true && !f.wr_link1.value) {
alert("링크주소를 입력하세요");
return false;
}
}
위와 같이 undefined 체크해서 존재할경우만 스크립트 실행하도록 하시면 됩니다.
뭔가 안풀리면...하루종일 집착하게 되는데.........
...시원하게 뚫어주셨네요 ^^ (테스트결과, 아무문제 없어서 아래처럼 약간만 정리를 했습니다)
정말 큰 도움되었습니다. 그리고 진심으로 감사드립니다. ^^
if (typeof(f.wr_3) != 'undefined') {
if((f.wr_3.checked == true) && !f.wr_link1.value) {
alert("링크주소를 입력하세요");
f.wr_link1.focus();
return false;
}
}
...시원하게 뚫어주셨네요 ^^ (테스트결과, 아무문제 없어서 아래처럼 약간만 정리를 했습니다)
정말 큰 도움되었습니다. 그리고 진심으로 감사드립니다. ^^
if (typeof(f.wr_3) != 'undefined') {
if((f.wr_3.checked == true) && !f.wr_link1.value) {
alert("링크주소를 입력하세요");
f.wr_link1.focus();
return false;
}
}