그누보드 4 모바일 에서 게시판 글쓰기
본문
지정 아이디 부분을 모바일에서 사용 하려고 하는데요.............
pc 에서는 구현이 가능 합니다...
모바일에서 자꾸 안되네요....................
지식이 부족하다 보니까... 여기까지 한계네요...
봐주세요...
<?php
if (!defined("_WZ_MOBILE_")) exit; // 개별 페이지 접근 불가
?>
<?
$ss_id = wr_5
?>
<script type="text/javascript">
// 회원ID 찾기
function popup_id(frm_name, ss_id, top, left)
{
url = '<?=$board_skin_path?>/write_id.php?frm_name='+frm_name+'&ss_id='+ss_id;
opt = 'scrollbars=yes,width=250,height=300,top='+top+',left='+left;
window.open(url, "write_id", opt);
}
</script>
<script type="text/javascript">
// 글자수 제한
var char_min = parseInt(<?=$write_min?>); // 최소
var char_max = parseInt(<?=$write_max?>); // 최대
</script>
<div class="gheight"></div>
<h4><?php echo $board[bo_subject]; ?></h4>
<div class="writebox havebtn">
<form name="fwrite" method="post" onsubmit="return fwrite_submit(this);" enctype="multipart/form-data" style="margin:0px;">
<input type=hidden name=null>
<input type=hidden name=w value="<?=$w?>">
<input type=hidden name=bo_table value="<?=$bo_table?>">
<input type=hidden name=wr_id value="<?=$wr_id?>">
<input type=hidden name=sca value="<?=$sca?>">
<input type=hidden name=sfl value="<?=$sfl?>">
<input type=hidden name=stx value="<?=$stx?>">
<input type=hidden name=spt value="<?=$spt?>">
<input type=hidden name=sst value="<?=$sst?>">
<input type=hidden name=sod value="<?=$sod?>">
<input type=hidden name=page value="<?=$page?>">
<input type=hidden name='html' value='html2' >
<div class="inputbox">
<fieldset>
<legend>글쓰기</legend>
<?php if ($is_name) { ?>
<p class="inputnt">
<input type="text" id="wr_name" name="wr_name" maxlength="20" required itemname="이름" placeholder="이름" value="<?=$name?>">
</p>
<?php } ?>
<?php if ($is_password) { ?>
<p class="inputnt">
<input type="password" id="wr_password" name="wr_password" maxlength="20" required itemname="패스워드" placeholder="패스워드" >
</p>
<?php } ?>
<?php if ($is_email) { ?>
<p class="inputnt">
<input type="text" id="wr_email" name="wr_email" maxlength="100" itemname="이메일" placeholder="이메일" value="<?=$email?>">
</p>
<?php } ?>
<?php if ($is_homepage) { ?>
<p class="inputnt">
<input type="text" id="wr_homepage" name="wr_homepage" itemname="홈페이지" placeholder="홈페이지" value="<?=$homepage?>">
</p>
<?php } ?>
<?php
$option = "";
$option_hidden = "";
if ($is_notice || $is_html || $is_secret || $is_mail) {
$option = "";
if ($is_notice) {
$option .= "<input type=checkbox name=notice value='1' $notice_checked>공지 ";
}
if ($is_secret) {
if ($is_admin || $is_secret==1) {
$option .= "<input type=checkbox value='secret' name='secret' $secret_checked><span class=w_title>비밀글</span> ";
<a href=javascript:popup_id('fwrite','<?=$ss_id?>',200,500);>
<span class=w_title>아이디지정</span>
</a>
<INPUT type="text" maxLength=50 size=10 <value='$write[$ss_id]> <name=$ss_id>
/* if ($is_secret) {
if ($is_admin || $is_secret==1) {
$option .= "<input type=checkbox value='secret' name='secret' $secret_checked><span class=w_title>비밀글</span> ";
*/
} else {
$option_hidden .= "<input type=hidden value='secret' name='secret'>";
}
}
if ($is_mail) {
$option .= "<input type=checkbox value='mail' name='mail' $recv_email_checked>답변메일받기 ";
}
}
echo $option_hidden;
if ($option) {
?>
<p class="inputnt">
<?=$option?>
</p>
<? } ?>
<?php if ($is_category) { ?>
<p class="inputnt">
<select name=ca_name required itemname="분류"><option value="">분류를 선택하세요<?=$category_option?></select>
</p>
<?php } ?>
<p class="inputnt">
<input type="text" id="wr_subject" name="wr_subject" required itemname="제목" placeholder="제목" value="<?=$subject?>">
</p>
<p class="inputarea">
<? if ($write_min || $write_max) { ?><span id=char_count></span>글자<?}?>
<textarea id="wr_content" name="wr_content" rows=10 itemname="내용" required <?php if ($write_min || $write_max) { ?>onkeyup="check_byte('wr_content', 'char_count');"<?}?> ></textarea>
<? if ($write_min || $write_max) { ?><script type="text/javascript"> check_byte('wr_content', 'char_count'); </script><?}?>
</p>
<? if ($is_link) { ?>
<? for ($i=1; $i<=$g4[link_count]; $i++) { ?>
<p class="inputnt">
<input type="text" id="wr_link<?=$i?>" name="wr_link<?=$i?>" itemname="링크 #<?=$i?>" placeholder="링크 #<?=$i?>" value="<?=$write["wr_link{$i}"]?>">
</p>
<? } ?>
<? } ?>
<? if ($is_file) { ?>
<div onclick="add_file();" style="cursor:pointer;
font-size: 13px;
padding: 5px;
color: #737373;
text-align: center;
background-color: #f6f6f6;
background-repeat: repeat-x;
border: 1px solid #aaa;border-bottom:0;">파일추가</div>
<div id="variableFiles"></div>
<script type="text/javascript">
var flen = 0;
function add_file(delete_code)
{
var upload_count = <?=(int)$board[bo_upload_count]?>;
if (upload_count && flen >= upload_count)
{
alert("이 게시판은 "+upload_count+"개 까지만 파일 업로드가 가능합니다.");
return;
}
var htmls = "";
htmls += "<p class='inputnt'><input type='file' name='bf_file[]' title='파일 용량 <?=$upload_max_filesize?> 이하만 업로드 가능' style='height:20px;'></p>";
<? if ($is_file_content) { ?>
htmls += "<p class='inputnt'><input type='text' name='bf_content[]' itemname='링크' placeholder='업로드 이미지 파일에 해당 되는 내용을 입력하세요'></p>";
<? } ?>
htmls += "</p>";
$('#variableFiles').append(htmls);
flen++;
}
<?=$file_script; //수정시에 필요한 스크립트?>
function del_file()
{
// file_length 이하로는 필드가 삭제되지 않아야 합니다.
var file_length = <?=(int)$file_length?>;
var objTbl = document.getElementById("variableFiles");
if (objTbl.rows.length - 1 > file_length)
{
objTbl.deleteRow(objTbl.rows.length - 1);
flen--;
}
}
</script>
<? } ?>
<?php if ($is_trackback) { ?>
<p class="inputnt">
<input type="text" id="wr_trackback" name="wr_trackback" itemname="트랙백" placeholder="트랙백" value="<?php echo $trackback?>">
<?php if ($w=="u") { ?><input type=checkbox name="re_trackback" value="1">핑 보냄<?php } ?>
</p>
<?php } ?>
<?php if ($is_guest) { ?>
<p class="inputnt" style="padding-left:0px;">
<span style="float:left;width:30%;"><img id='kcaptcha_image' style="width:80px;height:30px;" /></span>
<span style="float:left;width:70%;"><input type="text" name=wr_key itemname="왼쪽의 글자를 입력하세요." placeholder="왼쪽의 글자를 입력하세요" required></span>
</p>
<?php } ?>
</fieldset>
</div>
<div class="btm-btns">
<div class="lbtns" style="width: 50%;"><button type="button" id="btn_list" onclick="location.href='./board.php?bo_table=<?=$bo_table?>&<?php echo $qstr; ?>'"><span>목록으로</span></button></div>
<div class="lbtns" style="width: 50%;"><button type="submit" id="btn_submit"><span class="sbmt">글쓰기</span></button></div>
</div>
</form>
</div>
<div class="gheight"></div>
<script type="text/javascript" src="<?="$g4[path]/js/jquery.kcaptcha.js"?>"></script>
<script type="text/javascript">
<!--
<?php
// 관리자라면 분류 선택에 '공지' 옵션을 추가함
if ($is_admin)
{
echo "
if (typeof(document.fwrite.ca_name) != 'undefined')
{
document.fwrite.ca_name.options.length += 1;
document.fwrite.ca_name.options[document.fwrite.ca_name.options.length-1].value = '공지';
document.fwrite.ca_name.options[document.fwrite.ca_name.options.length-1].text = '공지';
}";
}
?>
with (document.fwrite)
{
if (typeof(wr_name) != "undefined")
wr_name.focus();
else if (typeof(wr_subject) != "undefined")
wr_subject.focus();
else if (typeof(wr_content) != "undefined")
wr_content.focus();
if (typeof(ca_name) != "undefined")
if (w.value == "u")
ca_name.value = "<?=$write[ca_name]?>";
}
function html_auto_br(obj)
{
if (obj.checked) {
result = confirm("자동 줄바꿈을 하시겠습니까?\n\n자동 줄바꿈은 게시물 내용중 줄바뀐 곳을<br>태그로 변환하는 기능입니다.");
if (result)
obj.value = "html2";
else
obj.value = "html1";
}
else
obj.value = "";
}
function fwrite_submit(f)
{
/*
var s = "";
if (s = word_filter_check(f.wr_subject.value)) {
alert("제목에 금지단어('"+s+"')가 포함되어있습니다");
return false;
}
if (s = word_filter_check(f.wr_content.value)) {
alert("내용에 금지단어('"+s+"')가 포함되어있습니다");
return false;
}
*/
if (document.getElementById('char_count')) {
if (char_min > 0 || char_max > 0) {
var cnt = parseInt(document.getElementById('char_count').innerHTML);
if (char_min > 0 && char_min > cnt) {
alert("내용은 "+char_min+"글자 이상 쓰셔야 합니다.");
return false;
}
else if (char_max > 0 && char_max < cnt) {
alert("내용은 "+char_max+"글자 이하로 쓰셔야 합니다.");
return false;
}
}
}
if (!f.wr_subject.value) {
alert("제목을 입력해주세요.");
f.wr_subject.focus();
return false;
}
if (!f.wr_content.value) {
alert("내용을 입력해주세요.");
f.wr_content.focus();
return false;
}
var subject = "";
var content = "";
$.ajax({
url: "<?=$board_skin_path?>/ajax.filter.php",
type: "POST",
data: {
"subject": f.wr_subject.value,
"content": f.wr_content.value
},
dataType: "json",
async: false,
cache: false,
success: function(data, textStatus) {
subject = data.subject;
content = data.content;
}
});
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 (!check_kcaptcha(f.wr_key)) {
return false;
}
document.getElementById('btn_submit').disabled = true;
document.getElementById('btn_list').disabled = true;
<?php
if ($g4[https_url])
echo "f.action = '$g4[https_url]/$g4[bbs]/write_update.php';";
else
echo "f.action = './write_update.php';";
?>
return true;
}
//-->
</script>
<script type="text/javascript" src="<?="$g4[path]/js/board.js"?>"></script>
<script type="text/javascript"> window.onload=function() { drawFont(); } </script>
답변 2
소스코드는 [코드] 소스 [/코드] 하시면 보기 좋게 처리가 될겁니다. 코드는 ---> code 영문으로
그리고 지정 아이디는 뭔지? PC에서 어떻게 구현하셨다는건지? 설명이 부족합니다.
답변을 달아 드리고 싶어도 질문이 뭔지 이해가 안됩니다.
비밀글이고 글쓴사람, 특정사람(지정 아이디), 관리자만 볼 수 있는 게시판 스킨이군요.
PC에서는 정상적으로 동작하는데 모바일에서 어떻게 안되시는건지 설명이 부족합니다.