채택완료

datepicker 로 날짜지정 한 뒤 옆에 요일 표시하기 질문입니다.

2018-02-04 (일) 22:27:09 4,045

동적인 페이지 구성을 하기 위해서는 자바스크립트가 필수인 것 같더군요;;

그누보드에서 기본 제공되는 datepicker 로 날짜를 지정한 다음 날짜 옆에 요일이 나오게 하고 싶은데

혹시 아래 자바스크립트 코드를 PHP로 출력해 줄려면 어떻게 해야될까요?

function getWeekday(sDate) {
    var yy = parseInt(sDate.substr(0, 4), 10);
    var mm = parseInt(sDate.substr(5, 2), 10);
    var dd = parseInt(sDate.substr(8), 10);

    var d = new Date(yy,mm - 1, dd);
    var weekday=new Array(7);
    weekday[0]="일";
    weekday[1]="월";
    weekday[2]="화";
    weekday[3]="수";
    weekday[4]="목";
    weekday[5]="금";
    weekday[6]="토";

    return weekday[d.getDay()];
}

여기서 getWeekday(sDate) 의 sDate 는 <input id=sDate ...> 에서 id 값을 말하는 건가요?

저게 자바스크립트 함수(function)로 되어 있어서 PHP에다가 나타내 줄려면 어떻게 해줘야할지

막막하네요...

|

답변 2개 / 댓글 2개

채택된 답변
+20 포인트

php 는 서버 언어이고 javascript 는 클라이언트 언어이니 말씀하신 작업은 불가능합니다.

사용자가 서버에 요청 -> 아파치 응답(php 반응후 html 생성 ) -> 사용자는 html 수신 ( javascript 동작)

이런순서라 이미 html 로 가공된후에 php 에 뭘 한다는건 말이 안되는 일입니다.

답변에 대한 댓글 2개

그럼 datepicker에서 선택된 날짜가 input 박스에 표시되는데 그 값을 가져와서 html상에서 자바스크립트로 계산해서 나타내 줄 수는 없을까요?
그렇게 할수 있는데 보여주신 코드로는 정보가 부족합니다
저 함수로 반화되는 값이 요일이니까 해당 값을 바꿔주면 되죠

아래 소스 응용해서 해보세요.

<?php
        include_once('./_common.php');
        echo '<meta http-equiv="imagetoolbar" content="no">'.PHP_EOL;
        echo '<meta http-equiv="X-UA-Compatible" content="IE=10,chrome=1">'.PHP_EOL;
        echo '<title></title>'.PHP_EOL;
        echo '<link rel="stylesheet" href="'.G5_ADMIN_URL.'/css/admin.css">'.PHP_EOL;
        echo '<script src="'.G5_JS_URL.'/jquery-1.8.3.min.js"></script>';
        include_once(G5_PLUGIN_PATH.'/jquery-ui/datepicker.php');
        ?>

<table>
    </tr>
        <td>
            <input type="text" name="insert_date" class="datepicker"/>
            <div id="datepicker_w"></div></td>
    </tr>
</table>


<script> $(function(){ $(".datepicker").datepicker({ changeMonth: true, changeYear: true, dateFormat: "yy-mm-dd", showButtonPanel: true, yearRange: "c-10:c+1" }); }); </script>
<script>
    $("input[name=insert_date]").on("propertychange change keyup paste input", function() {
        var week = new Array('일요일', '월요일', '화요일', '수요일', '목요일', '금요일', '토요일');
        console.log($('input[name=insert_date]').val());
        var today = new Date($('input[name=insert_date]').val()).getDay();
        console.log(today);
        var todayLabel = week[today];
        $("#datepicker_w").html(todayLabel);
    });
</script>

<?php echo html_end(); // HTML 마지막 처리 함수 : 반드시 넣어주시기 바랍니다. ?>

답변을 작성하려면 로그인이 필요합니다.