구글 크롬에서 글쓰기 버튼을 2번 눌러야 입력이 되는 문제가 있습니다. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

구글 크롬에서 글쓰기 버튼을 2번 눌러야 입력이 되는 문제가 있습니다. 정보

구글 크롬에서 글쓰기 버튼을 2번 눌러야 입력이 되는 문제가 있습니다.

본문

list.skin.php  에서

Write.skin.php 를 불러와서  한줄 게시판 처럼 쓰고있습니다..

그런데

익스플로러나 파이어 폭스에서는 문제가 없습니다만

유독 크롬에서만 이런 현상이 발생합니다.

입력할때 글쓰기 버튼을 두번 눌러야 글이 전송된다던가..

입력부분을 input으로  해두면 엔터를 두번 쳐야 글이 포스팅 됩니다.


링크의 게시판 스킨이 그놈입니다...




이런 문제 혹시 겪어 보신 분 계시면

도움 좀 부탁 드리겠습니다.

굽신굽신

------------------------------------------
list.skin.php 에서


<? if ($member[mb_level] >1 ) {
      include ("$board_skin_path/write.skin.php");
  }
  else {
  echo "<div align=center>회원전용게시판입니다. 로그인하셔야 입력창이 나타납니다.</div>";
  }
?>

이렇게 삽입해서 입력창을 넣었습니다.


----------------------------------------------


Write.skin.php 는 이렇게 생겼습니다.



<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

if ($is_dhtml_editor) {
    include_once("$g4[path]/lib/cheditor4.lib.php");
    echo "<script src='$g4[cheditor4_path]/cheditor.js'></script>";
    echo cheditor1('wr_content', '100%', '250');
}

// /bbs/write.php의 파일에서 관련 내용을 이동함

if (!$bo_table)
    alert("bo_table 값이 넘어오지 않았습니다.\\n\\nwrite.php?bo_table=code 와 같은 방식으로 넘겨 주세요.", $g4[path]);

$notice_array = explode("\n", trim($board[bo_notice]));

if ($w == "")
{
  $is_name = false;
$is_password = false;

if (!$member[mb_id] || ($is_admin && $w == 'u' && $member[mb_id] != $write[mb_id])) {
$is_name = true;
    $is_password = true;
}

  $password_required = "required";
  $content = $board[bo_insert_content];
 
  // 자동등록방지
  include_once ("./norobot.inc.php");
}

if (!$subject) $subject = 제목아무거나;

if (!$member[mb_id])
    echo "<script language='javascript' src='$g4[path]/js/md5.js'></script>\n";

// 필터
echo "<script language='javascript'> var g4_cf_filter = '$config[cf_filter]'; </script>\n";
echo "<script language='javascript' src='$g4[path]/js/filter.js'></script>\n";


?>

<script language="javascript">
// 글자수 제한
var char_min = parseInt(<?=$write_min?>); // 최소
var char_max = parseInt(<?=$write_max?>); // 최대
</script>


<form name="ffwrite" method="post" action="javascript:fwrite_check(document.ffwrite);" enctype="multipart/form-data" autocomplete="off">
<input type=hidden name=w          value="">
<input type=hidden name=bo_table  value="<?=$bo_table?>">
<input type=hidden name=wr_id      value="">
<input type=hidden name=page      value="<?=$page?>">
<input type=hidden name=wr_subject value="<?=$subject?>">
<? if ($is_password) { ?><input type="hidden" name="wr_password"  value="<?=$norobot_str?>"><? } ?>
<? if ($is_norobot) { ?><input type="hidden" name="wr_key"  value="<?=$norobot_key?>"><? } ?>



<table  width="<?=$width?>"    align="center" border="0" cellpadding="0"  cellspacing="5" style=" background-color:#999999; margin-top:10px; margin-bottom:10px;" >
  <tr>
    <td width="100%" >
    <input id="wr_content" name="wr_content" class=tx style='width:100%; word-break:break-all; font-size:13px; line-height:20px; padding:6px; height:30px; vertical-align:middle;' rows=4 itemname="내용" required
        <? if ($write_min || $write_max) { ?>onkeyup="check_byte('wr_content', 'char_count');"<?}?>><?=$content?></textarea>
        <? if ($write_min || $write_max) { ?><script language="javascript"> check_byte('wr_content', 'char_count'); </script><?}?>
     
    </td>
    <td  valign="middle" align="right" ><input type=image id="btn_submit" src="<?=$board_skin_path?>/img/btn_write_submit_small.gif"  border=0 accesskey='s'>


<!--  <input type=image id="btn_submit" src="<?=$board_skin_path?>/img/btn_write_submit.gif"  border=0 accesskey='s'>  -->

<!--      <a href="javascript:document.fwrite.submit()"><img src="<?=$board_skin_path?>/img/btn_write_submit.gif" border=0 ></a>-->

 </td>
 </tr>
</table>

<table  width="<?=$width?>"    align="center" border="0" cellpadding="0"  cellspacing="4" >
  <tr>
    <td  style=" font-size:13px; color:#eeeeee; " >
*첨부파일               
    <span onclick="add_file();" style="cursor:pointer;">+추가하기</span>
    <span onclick="del_file();" style="cursor:pointer;">-삭제하기</span>
    </td>
    <td align="right" style=" font-size:13px; color:#eeeeee; ">

    <?
    if ($is_admin)  {
        $option .= "<input type=checkbox name=notice value='1' $notice_checked>";

echo "공지사항";
echo "".$option;



    }
?>   
    </td>

  </tr>
</table>



<table id="variableFiles" cellpadding=0 cellspacing=0  width="<?=$width?>"    align="center" ></table><?// print_r2($file); ?>
  <script language="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 objTbl;
            var objRow;
            var objCell;
            if (document.getElementById)
                objTbl = document.getElementById("variableFiles");
            else
                objTbl = document.all["variableFiles"];

            objRow = objTbl.insertRow(objTbl.rows.length);
            objCell = objRow.insertCell(0);

            objCell.innerHTML = "<input type='file' class='ed' size=50 name='bf_file[]' title='파일 용량 <?=$upload_max_filesize?> 이하만 업로드 가능'>";
            if (delete_code)
                objCell.innerHTML += delete_code;
            else
            {
                <? if ($is_file_content) { ?>
                objCell.innerHTML += "<br><input type='text' class='ed' size=60 name='bf_content[]' title='업로드 이미지 파일에 해당 되는 내용을 입력하세요.'>";
                <? } ?>
                ;
            }

            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>

</form>



<span id=list_write style='display:none; width:100%; padding:10;'>
<form name="fwrite" method="post" action="javascript:fwrite_check(document.fwrite);" enctype="multipart/form-data" autocomplete="off">
<input type=hidden name=w          value="" id="list_w">
<input type=hidden name=bo_table  value="<?=$bo_table?>">
<input type=hidden name=wr_id      value="<?=$list[$i][wr_id]?>" id="list_id">
<input type=hidden name=page      value="<?=$page?>">
<input type=hidden name=wr_subject value="<?=$subject?>">
<? if ($is_password) { ?><input type="hidden" name="wr_password"  value="<?=$norobot_str?>"><? } ?>
<? if ($is_norobot) { ?><input type="hidden" name="wr_key"  value="<?=$norobot_key?>"><? } ?>

<span><input class="chatbox_input" id="list_content" name="wr_content" itemname="내용" required style="width:300; padding:4;" value="내용을 입력해 주세요..." onFocus="clearText(this)"></span>
<? if ($is_name) { ?>
<span><input class="chatbox_input" maxLength="20" size="13" name="wr_name" itemname="이름" required style=" padding:4;" value="이름" onFocus="clearText(this)"></span>
<? } ?>
<span><input type="image" id="btn_submit" src="<?=$board_skin_path?>/img/btn_write.gif" border="0" align="absmiddle"></span>

</form>
</span>


<script language="Javascript">
function clearText(thefield){
if (thefield.defaultValue==thefield.value) thefield.value = "";
}

function fwrite_check(f)
{
    var s = "";
if (f.wr_content.value == "내용을 입력해 주세요..."){
alert("내용을 입력해 주세요...")
return;
}

if (s = word_filter_check(f.wr_content.value)) {
        alert("내용에 금지단어('"+s+"')가 포함되어있습니다");
        return;
}

    f.action = "./write_update.php";
    f.submit();
}

var old_id, new_id;
var save_html = document.getElementById('list_write').innerHTML;

function list_box(list_id, work)
{
// 답변, 수정
    if (list_id)
    {
        if (work == 'r')
            new_id = 'reply_' + list_id;
        else
            new_id = 'edit_' + list_id;
    }
    else
        new_id = 'list_write';

if (old_id == new_id) {
var mode = document.getElementById(new_id).style.display;
if (mode == 'inline')
document.getElementById(new_id).style.display = 'none';
else
document.getElementById(new_id).style.display = 'inline';
}
else
    {
        if (old_id)
        {
            document.getElementById(old_id).style.display = 'none';
            document.getElementById(old_id).innerHTML = '';
        }

        document.getElementById(new_id).style.display = 'inline';
document.getElementById(new_id).innerHTML = save_html;

// 수정
        if (work == 'u')
        {
document.getElementById('list_image').src = document.getElementById('save_emoticon_' + list_id).src;
document.getElementById('list_content').value = document.getElementById('save_content_' + list_id).value;
        }

        document.getElementById('list_id').value = list_id;
        document.getElementById('list_w').value = work;
old_id = new_id;
}
}

list_box('', '');
new_id = 'list_write';
document.getElementById(new_id).style.display = 'none';
</script>



<script language="Javascript">
window.onload=function() {
document.forms[0].wr_content.focus();
}
</script>

======================================

댓글 전체

여러가지 측면으로 생각해보셔야 할거 같네요.. 일단 소스상에 문제점은

<form name="ffwrite" method="post" action="javascript:fwrite_check(document.ffwrite);" enctype="multipart/form-data" autocomplete="off">

중 action 으로 삽입하시는건 올바르지 않습니다.

onsubmit="return 함수" 형식으로 적어주시는게 좋습니다.
전체 66,558 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT