날수 계산 방법 문의 드립니다..

날수 계산 방법 문의 드립니다..

QA

날수 계산 방법 문의 드립니다..

답변 3

본문

안녕하세요...

오늘도 머리 싸매고 열공중인 왕초보입니다...

숙박예약에 필수로 필요한 날수 계산을 코딩 중인데요..

검색을 통해 기존 선배님들의 소스를 가져다 작업 중인데...

아래의 그림과 같이 두번째 날자는 선택하면 다음 화면으로 넘어 가질 않습니다.

도움 정중히 부탁드립니다.

3076105148_1558888106.0727.jpg

코딩 내용은 다음과 같습니다.

 

<!-- Check In / Out Start -->
    <script>
      $(function(){ // 날짜 입력
      $("#it_11, #it_12").datepicker({ changeMonth: true, changeYear: true, dateFormat: "yy-mm-dd", showButtonPanel: true }); 
      });
    </script>
    <script language="javascript">
      function termDate(){
      f=document.fwrite;
      v1=f.it_11.value.split("-");
      v2=f.it_12.value.split("-");
      a1=new Date(v1[0],v1[1]-1,v1[2]).getTime();
      a2=new Date(v2[0],v2[1]-1,v2[2]).getTime();
 
      b=(a2-a1)/(1000*60*60*24);
 
      f.it_13.value=b; 
      }
    </script> 
    <script language="javascript">
      function showHide() 
      { 
      if ( fwrite.cc.checked ) {
         document.all.layer.style.display = ""
      } else { 
         document.all.layer.style.display = "none"
      }
      }
   </script>
   
    <td class="td_ve040a">
         <input type="text" class="input3" name="it_11" size="16" maxlength="16" id="it_11" readonly value="<? if ($w == '') { ?><?=$write['it_11']?><? } else { ?><?php echo date('Y-m-d', strtotime($write['it_11'])) ?><? } ?>">
    </td>
    <td class="td_ve040a">
         <input type="text" class="input3" name="it_12"  size="16" maxlength="16" id="it_12" value="<? if ($w == '') { ?><?=$write['it_12']?><? } else { ?><?php echo date('Y-m-d', strtotime($write['it_12'])) ?><? } ?>"  readonly onchange="javascript:termDate();">
    </td>
    <td>
        <input type="text" class="in" name="it_13" size="2" maxlength="2" value="<?=$write['it_13']?>" readonly> Night
    </td>
 
    <!-- Check In / Out End -->

 

 

이 질문에 댓글 쓰기 :

답변 3

onchange="javascript:termDate();"
이 부분이 문제인것 같은데 관련 에러나 소스부분이 부족하여서 더 이상 추측하기 어렵네요

ternDate()함수를 지우고

fwrite_submit(f){

..
}
의 안에
      var v1=f.it_11.value.split("-");
      var v2=f.it_12.value.split("-");
      var a1=new Date(v1[0],v1[1]-1,v1[2]).getTime();
      var a2=new Date(v2[0],v2[1]-1,v2[2]).getTime();
 
      var b=(a2-a1)/(1000*60*60*24);
 
      f.it_13.value=b;
위의 내용을 넣으시면 될 듯 하네요

<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// 달력추가
include_once(G5_PLUGIN_PATH.'/jquery-ui/datepicker.php');
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.G5_SHOP_CSS_URL.'/style.css">', 0);
?>
<link type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/themes/base/jquery-ui.css" rel="stylesheet" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/jquery-ui.min.js"></script>
<?php if($config['cf_kakao_js_apikey']) { ?>
<script src="https://developers.kakao.com/sdk/js/kakao.min.js"></script>
<script src="<?php echo G5_JS_URL; ?>/kakaolink.js"></script>
<script>
    // 사용할 앱의 Javascript 키를 설정해 주세요.
    Kakao.init("<?php echo $config['cf_kakao_js_apikey']; ?>");
</script>
<?php } ?>

<form name="fitem" action="<?php echo $action_url; ?>" method="post" onsubmit="return fitem_submit(this);">
<input type="hidden" name="it_id[]" value="<?php echo $it['it_id']; ?>">
<input type="hidden" name="sw_direct">
<input type="hidden" name="url">

<div id="sit_ov_wrap">
    <?php
    // 이미지(중) 썸네일
    $thumb_img = '';
    $thumb_img_w = 280; // 넓이
    $thumb_img_h = 280; // 높이
    for ($i=1; $i<=10; $i++)
    {
        if(!$it['it_img'.$i])
            continue;

        $thumb = get_it_thumbnail($it['it_img'.$i], $thumb_img_w, $thumb_img_h);

        if(!$thumb)
            continue;

        $thumb_img .= '<li>';
        $thumb_img .= '<a href="'.G5_SHOP_URL.'/largeimage.php?it_id='.$it['it_id'].'&no='.$i.'" class="popup_item_image slide_img" target="_blank">'.$thumb.'</a>';
        $thumb_img .= '</li>'.PHP_EOL;
    }
    if ($thumb_img)
    {
        echo '<div id="sit_pvi">'.PHP_EOL;
        echo '<button type="button" id="sit_pvi_prev" class="sit_pvi_btn" >이전</button>'.PHP_EOL;
        echo '<button type="button" id="sit_pvi_next" class="sit_pvi_btn">다음</button>'.PHP_EOL;
        echo '<ul id="sit_pvi_slide" style="width:'.$thumb_img_w.'px;height:'.$thumb_img_h.'px">'.PHP_EOL;
        echo $thumb_img;
        echo '</ul>'.PHP_EOL;
        echo '</div>';
    }
    ?>

    <!-- 다른 상품 보기 시작 { -->
    <div id="sit_siblings">
        <?php
        if ($prev_href || $next_href) {
            $prev_title = '<i class="fa fa-caret-left" aria-hidden="true"></i> '.$prev_title;
            $next_title = $next_title.' <i class="fa fa-caret-right" aria-hidden="true"></i>';

            echo $prev_href.$prev_title.$prev_href2;
            echo $next_href.$next_title.$next_href2;
        } else {
            echo '<span class="sound_only">이 분류에 등록된 다른 상품이 없습니다.</span>';
        }
        ?>
        <a href="<?php echo G5_SHOP_URL; ?>/largeimage.php?it_id=<?php echo $it['it_id']; ?>&no=1" target="_blank" class="popup_item_image "><i class="fa fa-search-plus" aria-hidden="true"></i><span class="sound_only">확대보기</span></a>
    </div>
    <!-- } 다른 상품 보기 끝 -->

    <div id="sit_star_sns">
        <?php
        $sns_title = get_text($it['it_name']).' | '.get_text($config['cf_title']);
        $sns_url  = G5_SHOP_URL.'/item.php?it_id='.$it['it_id'];

        if ($score = get_star_image($it['it_id'])) { ?>
        <span class="sound_only">고객평점 <?php echo $score?>개</span>
        <img src="<?php echo G5_SHOP_URL; ?>/img/s_star<?php echo $score?>.png" alt="" class="sit_star" width="100"> <span class="st_bg"></span>
        <?php } ?>


         <i class="fa fa-commenting-o" aria-hidden="true"></i><span class="sound_only">리뷰</span> <?php echo $it['it_use_cnt']; ?>
        <span class="st_bg"></span> <i class="fa fa-heart-o" aria-hidden="true"></i><span class="sound_only">위시</span> <?php echo get_wishlist_count_by_item($it['it_id']); ?>
        <button type="button" class="btn_sns_share"><i class="fa fa-share-alt" aria-hidden="true"></i><span class="sound_only">sns 공유</span></button>
        <div class="sns_area">
            <?php echo get_sns_share_link('facebook', $sns_url, $sns_title, G5_MSHOP_SKIN_URL.'/img/facebook.png'); ?>
            <?php echo get_sns_share_link('twitter', $sns_url, $sns_title, G5_MSHOP_SKIN_URL.'/img/twitter.png'); ?>
            <?php echo get_sns_share_link('googleplus', $sns_url, $sns_title, G5_MSHOP_SKIN_URL.'/img/gplus.png'); ?>
            <?php echo get_sns_share_link('kakaotalk', $sns_url, $sns_title, G5_MSHOP_SKIN_URL.'/img/sns_kakao.png'); ?>
            <?php
            $href = G5_SHOP_URL.'/iteminfo.php?it_id='.$it_id;
            ?> 
            <a href="javascript:popup_item_recommend('<?php echo $it['it_id']; ?>');" id="sit_btn_rec"><i class="fa fa-envelope-o" aria-hidden="true"></i><span class="sound_only">추천하기</span></a></div>
        </div>
    <script>
    $(".btn_sns_share").click(function(){
        $(".sns_area").show();
    });
    $(document).mouseup(function (e){
        var container = $(".sns_area");
        if( container.has(e.target).length === 0)
        container.hide();
    });
    </script>
    <!-- Check In / Out Start -->
    <script>
      $(function(){ // 날짜 입력
      $("#it_11, #it_12").datepicker({ changeMonth: true, changeYear: true, dateFormat: "yy-mm-dd", showButtonPanel: true }); 
      });
    </script>
    <script language="javascript">
      function termDate(){
      f=document.fwrite;
      v1=f.it_11.value.split("-");
      v2=f.it_12.value.split("-");
      a1=new Date(v1[0],v1[1]-1,v1[2]).getTime();
      a2=new Date(v2[0],v2[1]-1,v2[2]).getTime();
 
      b=(a2-a1)/(1000*60*60*24);
 
      f.it_13.value=b; 
      }
    </script> 
    <script language="javascript">
      function showHide() 
      { 
      if ( fwrite.cc.checked ) {
         document.all.layer.style.display = ""
      } else { 
         document.all.layer.style.display = "none"
      }
      }
   </script>
   
    <td class="td_ve040a">
         <input type="text" class="input3" name="it_11" size="16" maxlength="16" id="it_11" readonly value="<? if ($w == '') { ?><?=$write['it_11']?><? } else { ?><?php echo date('Y-m-d', strtotime($write['it_11'])) ?><? } ?>">
    </td>
    <td class="td_ve040a">
         <input type="text" class="input3" name="it_12"  size="16" maxlength="16" id="it_12" value="<? if ($w == '') { ?><?=$write['it_12']?><? } else { ?><?php echo date('Y-m-d', strtotime($write['it_12'])) ?><? } ?>"  readonly onchange="javascript:termDate();">
    </td>
    <td>
        <input type="text" class="in" name="it_13" size="2" maxlength="2" value="<?=$write['it_13']?>" readonly> Night
    </td>
 
    <!-- Check In / Out End -->
    <section id="sit_ov" class="2017_renewal_itemform">
        <h2>상품간략정보 및 구매기능</h2>
        <div class="sit_ov_wr">

 

이부분이 소스입니다..

친절하고 구체적인 댓글에 감사드립니다.

위 내용대로 한참을 연구하며 해  봤는데요..

날짜를 입력하는 첫번째와 두번째까지는 넘어가는데..

날수가 계산되어 보여지는 "it_13"에 날수가 나타나지 않습니다.

염치없는 부탁이고 참 번거로우시겠지만 한번만 더 봐 주시겠습니까...?

// 수정하시라고 알려주신 부분이구요..//

<script language="javascript">
      function fwrite_submit(f){
      f=document.fwrite;
      var v1=f.it_11.value.split("-");
      var v2=f.it_12.value.split("-");
      var a1=new Date(v1[0],v1[1]-1,v1[2]).getTime();
      var a2=new Date(v2[0],v2[1]-1,v2[2]).getTime();
 
      var b=(a2-a1)/(1000*60*60*24);
 
      f.it_13.value=b; 
      }
    </script>

//여기는 날짜를 입력하는 "it_11"과 "it_12"부분입니다.

<td class="td_ve040a">
         <input type="text" class="input3" name="it_11" size="16" maxlength="16" id="it_11" readonly value="<? if ($w == '') { ?><?=$write['it_11']?><? } else { ?><?php echo date('Y-m-d', strtotime($write['it_11'])) ?><? } ?>">
    </td>
    <td class="td_ve040a">
         <input type="text" class="input3" name="it_12"  size="16" maxlength="16" id="it_12" value="<? if ($w == '') { ?><?=$write['it_12']?><? } else { ?><?php echo date('Y-m-d', strtotime($write['it_12'])) ?><? } ?>" readonly onchange="javascript:fwrite_submit;">

           이부분은 ()과 (f)다함께 넣어 봤는데요.. 두개 모두 두번째 날짜에서 넘어가지 않습니다.
    </td>
    <td>
        <input type="text" name="it_13" size="2" maxlength="2" value="<?=$write['it_13']?>" class="in" readonly> Night
    </td>

고맙습니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 17,127
© SIRSOFT
현재 페이지 제일 처음으로