자바스크립트 오류 및 sql 값처리 > 그누4 질문답변

그누4 질문답변

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

자바스크립트 오류 및 sql 값처리 정보

자바스크립트 오류 및 sql 값처리

본문

주문서에 간이 쇼핑몰을 참고하여  수량이 늘어나는 부분을 넣었습니다.
 
<table cellspacing=0 cellpadding=0>
            <tr>
                <td rowspan=2><input type=text name=wr_qty class=input onchange='add_sum()' value='1' size=3></td>
                <td><img src='<?=$board_skin_path?>/img/up.gif' alt='^' border=0 style='cursor:pointer;' onclick="qty_change('up');"></td>
                <td><img src='<?=$board_skin_path?>/img/down.gif' alt='v' border=0 style='cursor:pointer;' onclick="qty_change('dn');"></td>
            </tr>
            </table>
 
이 부분에 자바스크립트 오류가 납니다.
또 이부분에는 value 값이 있기에 sql 값으로 넣기가 애매합니다.
링크를 참조해 주시기 바랍니다.
 
 
전체 소스
 
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
include_once("$g4[path]/lib/cheditor.lib.php");
if ($w != 'u') $content = '';
?>
<script src="<?=$g4[editor_path]?>/cheditor.js"></script>
<?=cheditor1('wr_content', $content);?>
<?
$ex1_filed =   explode("|",$write[wr_1]); //종류
$ext1_00   =   $ex1_filed[0];
?>
<?
$ex2_filed =   explode("|",$write[wr_2]); //사이즈
$ext2_00   =   $ex2_filed[0]; //가로
$ext2_01   =   $ex2_filed[1]; //세로
?>
<?
$ex3_filed =   explode("|",$write[wr_3]); //재질
$ext3_00   =   $ex3_filed[0]; 
?>
<?
$ex4_filed =   explode("|",$write[wr_4]); //수량
$ext4_00   =   $ex4_filed[0]; 
?>
<?
$ex5_filed =   explode("|",$write[wr_5]); //마감방법
$ext5_00   =   $ex3_filed[0]; //현수막
?>
<?
$ex3_filed =   explode("|",$write[wr_3]); //재질
$ext3_00   =   $ex3_filed[0]; //현수막
$ext3_01   =   $ex3_filed[1]; //어깨띠
$ext3_02   =   $ex3_filed[2]; //배너
$ext3_03   =   $ex3_filed[3]; //롤포스터
$ext3_04   =   $ex3_filed[4]; //롤브라인드
$ext3_05   =   $ex3_filed[5]; //
$ext3_06   =   $ex3_filed[6];
$ext3_07   =   $ex3_filed[7];
?>
<script language="javascript">
// 글자수 제한
var char_min = parseInt(<?=$write_min?>); // 최소
var char_max = parseInt(<?=$write_max?>); // 최대
</script>
<!-- 김선용 2005.4 - ff(불여우) 에서는 innerhtml 사용시 폼이 <table> 아래에 있으면 인식하지 못합니다. -->
<form name="fwrite" method="post" action="javascript:fwrite_check(document.fwrite);" 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?>">

<table width="<?=$width?>" align=center cellpadding=0 cellspacing=0 style='padding-top:3px'><tr><td>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td style='word-break:break-all; border:5px solid #EBEBEB; padding-top:4px;'colspan=2 height=32 bgcolor=#ffffff> ▒ 게시물 작성   ▒ 작성 후 교정과 함께  사용여부를 확인하시기 바랍니다 ▒</td>
</tr>
<tr>
    <td style='padding-left:10px; height:30px;'>▒ 종류 </td>
    <td><input type="radio" name="ext1_00" id="ext1_00_1" value='현수막' <? if ($ext1_00 == '현수막') echo'checked';?>><a onfocus='blur();' href="javascript:;" onclick="document.getElementById('ext1_00_1').checked=true;">현수막</a>          
  <input type="radio" name="ext1_00" id="ext1_00_2" value='어깨띠' <? if ($ext1_00 == '어깨띠') echo'checked';?>><a onfocus='blur();' href="javascript:;" onclick="document.getElementById('ext1_00_2').checked=true;">어깨띠</a>
  <input type="radio" name="ext1_00" id="ext1_00_3" value='배너' <? if ($ext1_00 == '배너') echo'checked';?>><a onfocus='blur();' href="javascript:;" onclick="document.getElementById('ext1_00_3').checked=true;">배너</a>
  <input type="radio" name="ext1_00" id="ext1_00_4" value='롤포스터' <? if ($ext1_00 == '롤포스터') echo'checked';?>><a onfocus='blur();' href="javascript:;" onclick="document.getElementById('ext1_00_4').checked=true;">롤포스터</a>
  <input type='radio' name="ext1_00" id="ext1_00_5" value='롤브라인드' <? if ($ext1_00 == '롤브라인드') echo'checked';?>><a onfocus='blur();' href="javascript:;" onclick="document.getElementById('ext1_00_5').checked=true;">롤브라인드</a>
     <input type='radio' name="ext1_00" id="ext1_00_6" value='가로등배너' <? if ($ext1_00 == '가로등배너') echo'checked';?>><a onfocus='blur();' href="javascript:;" onclick="document.getElementById('ext1_00_6').checked=true;">가로등배너</a>
  <input type='radio' name="ext1_00" id="ext1_00_7" value='POP' <? if ($ext1_00 == 'POP') echo'checked';?>><a onfocus='blur();' href="javascript:;" onclick="document.getElementById('ext1_00_7').checked=true;">POP</a>
 </td>       
</tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<tr>
    <td style='padding-left:10px; height:30px;'>▒ 사이즈 </td>
    <td>가로 사이즈 <input class='input' maxlength='20' size='4' name='ext2_00' itemname='사이즈' value='<?=$ext2_00?>'>
    -
 세로 사이즈 <input class='input' maxlength='20' size='4' name='ext2_01' itemname='사이즈' value='<?=$ext2_01?>'></td>
</tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<tr>
    <td style='padding-left:10px; height:30px;'>▒ 재질 </td>
    <td><select name='ext3_00' class='category' style='width:90;' required itemname='재질'>
        <option selected value=''>선택하세요</option>
        <option value='그래픽천'   <? if($ext3_00 == "그래픽천")  echo "selected"; ?>>그래픽천</option>
        <option value='포토천'   <? if($ext3_00 == "포토천")  echo "selected"; ?>>포토천</option>
        <option value='패트지'   <? if($ext3_00 == "패트지")  echo "selected"; ?>>패트지</option>
        <option value='유포지'   <? if($ext3_00 == "유포지")  echo "selected"; ?>>유포지</option>
        <option value='부포지'   <? if($ext3_00 == "부포지")  echo "selected"; ?>>부포지</option>
        <option value='일러천'   <? if($ext3_00 == "일러천")  echo "selected"; ?>>일러천</option>
</select>
  </td>
</tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<tr>
    <td style='padding-left:10px; height:30px;'>▒ 수량 </td>
    <td>
                <table cellspacing=0 cellpadding=0>
            <tr>
                <td rowspan=2><input type=text name=wr_qty class=input onchange='add_sum()' value='1' size=3></td>
                <td><img src='<?=$board_skin_path?>/img/up.gif' alt='^' border=0 style='cursor:pointer;' onclick="qty_change('up');"></td>
                <td><img src='<?=$board_skin_path?>/img/down.gif' alt='v' border=0 style='cursor:pointer;' onclick="qty_change('dn');"></td>
            </tr>
            </table></td>
</tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<tr>
    <td width=120 style='padding-left:10px; height:30px;'>▒ 마감방법 </td>
    <td><select name='ext5_00' class='category' style='width:90;' required itemname='재질'>
        <option selected value=''>선택하세요</option>
        <option value='열재단'   <? if($ext5_00 == "열재단")  echo "selected"; ?>>열재단</option>
        <option value='사구아일렛'   <? if($ext5_00 == "사구아일렛")  echo "selected"; ?>>사구아일렛</option>
        <option value='막대가공'   <? if($ext5_00 == "막대가공")  echo "selected"; ?>>막대가공</option>
        <option value='봉미싱'   <? if($ext5_00 == "봉미싱")  echo "selected"; ?>>봉미싱</option>
        <option value='사방줄미싱'   <? if($ext5_00 == "사방줄미싱")  echo "selected"; ?>>사방줄미싱</option>
        <option value='큐방'   <? if($ext5_00 == "큐방")  echo "selected"; ?>>큐방</option>
        <option value='기타'   <? if($ext5_00 == "기타")  echo "selected"; ?>>기타</option>
 </select>
 </td>
</tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<tr>
    <td style='padding-left:10px; height:30px;'>▒ 주문 제목</td>
    <td><input class=ed style="width:390;" name=wr_subject itemname="제목" required value="<?=$subject?>"></td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<tr>
    <td style='padding-left:10px;'>▒ 하시고 싶으신 말 </td>
    <td style='padding:5 0 5 0;'><?=cheditor2('fwrite', 'wr_content', '100%', '350');?></td>
</tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<tr>
    <td style='padding-left:10px; height:30px;'>▒ 주문자 </td>
    <td><table cellpadding=3>
      <colgroup width=100>
      <colgroup width=''>
      <tr>
        <td>이름</td>
        <td><input class='input' maxlength='20' size='20' name='wr_name' itemname='이름' required value='<?=$name?>'></td>
      </tr>
      <? if ($is_password) { ?>
      <tr>
        <td>비밀번호</td>
        <td><input class='input' type='password' maxlength='50' size='20' name='wr_password' itemname='패스워드' <?=$password_required?>>        
          영,숫자 3~20자</td>
      </tr>
      <? } ?>
      <tr>
        <td>전화번호</td>
        <td><input type=text name=od_tel value='<?=$member[mb_tel]?>' maxlength=20 class=ed></td>
      </tr>
      <tr>
        <td>핸드폰</td>
        <td><input type=text name=od_hp value='<?=$member[mb_hp]?>' maxlength=20 class=ed></td>
      </tr>
      <tr>
        <td>주 소</td>
        <td><table width='100%' border='0' cellspacing='0' cellpadding='0'>
          <tr>
            <td height='30' style='padding-left:5;'>
   <input class='input' type='text' name='ext6_00' value='<?=$ext6_00?>' size='5' maxlength='3' readonly <?=$config[cf_req_addr]?'required':'';?> itemname='우편번호 앞자리'>
            -
            <input class='input' type='text' name='ext6_01' value='<?=$ext6_01?>' size='5' maxlength='3' readonly <?=$config[cf_req_addr]?'required':'';?> itemname='우편번호 뒷자리'>
 <a href="javascript:;" onclick="win_zip('fwrite', 'ext6_00', 'ext6_01', 'ext6_02', 'ext6_03');"><img  src='<?=$board_skin_path?>/img/icon_addr.gif' height='19' width='85' align='absmiddle' border='0'></a></td>
          </tr>
          <tr>
            <td colspan='2' height='1' background='<?=$board_skin_path?>/img/dot_bg.gif'></td>
          </tr>
          <tr>
            <td height='30' colspan='2' style='padding-left:5;'><input class='input' type='text' name='ext6_02' value='<?=$ext6_02?>' size='35' readonly <?=$config[cf_req_addr]?'required':'';?> required itemname='주소'>
                <input class='input' type='text' name='ext6_03'  value='<?=$ext6_03?>' size='20' <?=$config[cf_req_addr]?'required':'';?> required itemname='상세주소'>
      (상세주소)</td>
          </tr>
        </table></td>
      </tr>
      <tr>
        <td>E-mail</td>
        <td><input type=text name=od_email size=35 maxlength=100 value='<?=$member[mb_email]?>' class=ed></td>
      </tr>
      <tr>
        <td>희망배송일</td>
        <td><select name=od_hope_date>
                <option value=''>선택하십시오.
                <?
                for ($i=0; $i<7; $i++) {
                    $sdate = date("Y-m-d", time()+86400*($default[de_hope_date_after]+$i));
                    echo "<option value='$sdate'>$sdate (".get_yoil($sdate).")\n";
                }
                ?>
                </select></td>
      </tr>
     </table></td>
</tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? if ($is_file) { ?>
<tr>
    <td style='padding-left:10px; height:30px;'><table cellpadding=0 cellspacing=0><tr><td style=" padding-top: 10px;">▒ 파일 <span onclick="add_file();" style='cursor:pointer; font-family:굴림; font-size:10pt;'>+</span> <span onclick="del_file();" style='cursor:pointer; font-family:굴림; font-size:10pt;'>-</span></td></tr></table></td>
    <td style='padding:5 0 5 0;'><table id="variableFiles" cellpadding=0 cellspacing=0></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=32 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=50 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></td>
</tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>
<? if ($is_norobot) { ?>
<tr>
    <td style='padding-left:10px; height:30px;'>▒ <?=$norobot_str?></td>
    <td><input class=ed type=input size=10 name=wr_key itemname="자동등록방지" required>  ▒ 왼쪽의 글자중 <font color="red">빨간글자만</font> 순서대로 입력하세요.</td>
</tr>
<tr><td style='padding-left:10px;' colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>
<tr><td colspan=2 height=1 bgcolor=#000000></td></tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
    <td width="100%" height="30" background="<?=$board_skin_path?>/img/write_down_bg.gif"></td>
</tr>
<tr>
    <td width="100%" align="center" valign="top">
        <input type=image id="btn_submit" src="<?=$board_skin_path?>/img/btn_write.gif" border=0 accesskey='s'> 
        <a href="./board.php?bo_table=<?=$bo_table?>"><img id="btn_list" src="<?=$board_skin_path?>/img/btn_list.gif" border=0></a></td>
</tr>
</table>
</td></tr></table>
</form>

<script language="javascript">
<?
// 관리자라면 분류 선택에 '공지' 옵션을 추가함
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_check(f)
{
    var s = "";
    if (s = word_filter_check(f.wr_subject.value)) {
        alert("제목에 금지단어('"+s+"')가 포함되어있습니다");
        return;
    }
    if (s = word_filter_check(f.wr_content.value)) {
        alert("내용에 금지단어('"+s+"')가 포함되어있습니다");
        return;
    }
    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;
        } else if (char_max > 0 && char_max < cnt)
        {
            alert("내용은 "+char_max+"글자 이하로 쓰셔야 합니다.");
            return;
        }
    }
    if (typeof(f.wr_key) != "undefined") {
        if (hex_md5(f.wr_key.value) != md5_norobot_key) {
            alert("자동등록방지용 빨간글자가 순서대로 입력되지 않았습니다.");
            f.wr_key.focus();
            return;
        }
    }
    <?=cheditor3('wr_content');?>
    f.action = "./write_update.php";
    f.submit();
}
</script>
  • 복사

댓글 전체

윗분말씀대로 관련 자바스크립트함수가 소스에 없네요.

http://sir.co.kr/bbs/tb.php/g4_qa/46949
제가 쓴 스크립트와 비슷해보여서 적습니다.
저는 블루비의 자바스크립트를 약간 변형했는데요.
약간 복잡하지만.. 가격까지 계산되어서 일석이조로 본 스크립트를 사용했습니다.
요질문이전에도 관련된 질문이 몇개 있으니.. 제가 수정안한 원본 소스도 찾으실 수 있으실겁니다.

이게 아니라면 대략낭패!
© SIRSOFT
현재 페이지 제일 처음으로