이 소스안에 여분필드(cf_1) 값을 불러오고 싶습니다.

이 소스안에 여분필드(cf_1) 값을 불러오고 싶습니다.

QA

이 소스안에 여분필드(cf_1) 값을 불러오고 싶습니다.

본문

안녕하세요.
아래가 제가 사용하는 소스중 일부입니다.

 


    $('#sdate').datetimepicker({
        allowTimes:at,
        timepicker:false,
        format:    'Y-m-d',
        onClose:function(ct,$i){
          if($("#sdate").val() != "" && $("#edate").val() != "") {              
            GoPayCheck();
          }
        },onShow:function( ct ){
   this.setOptions({
   minDate:"<?php echo date('Y-m-d', strtotime('+ 5 day')); ?>",
    maxDate:jQuery('#edate').val()?jQuery('#edate').val():false
   })
  }
    });

 

이 소스중
   minDate:"<?php echo date('Y-m-d', strtotime('+ 5 day')); ?>",
에서 숫자 5가 써져 있는 부분에 직접 입력이 아닌,
여분필드(cf_1)의 값으로 불러오고 싶습니다. 

 

일반적이라면 <?php echo $config['cf_1'] ?>로 불러오면 될듯한데, 
저부분에서는 어떤식으로 불러와야 할지 모르겠습니다.
$config['cf_1']
$config[cf_1]
$(config['cf_1'])
$('config['cf_1']')
로는 안되네요.

 

혹시 아시는 분 답변 주시면 정말 감사하겠습니다.

이 질문에 댓글 쓰기 :

답변 5

이렇게 수정을 해보시겠어요~

<script>
  $(document).ready(function() {
    var cf1Value = <?php echo $config['cf_1']; ?>;

    $('#sdate').datetimepicker({
      allowTimes: at,
      timepicker: false,
      format: 'Y-m-d',
      onClose: function(ct, $i) {
        if ($("#sdate").val() != "" && $("#edate").val() != "") {
          GoPayCheck();
        }
      },
      onShow: function(ct) {
        var minDate = new Date();
        minDate.setDate(minDate.getDate() + parseInt(cf1Value));

        this.setOptions({
          minDate: minDate.toISOString().split('T')[0],
          maxDate: jQuery('#edate').val() ? jQuery('#edate').val() : false
        });
      }
    });
  });
</script>
 

계속 시간내어 답변 주셔서 죄송하고 감사합니다.
제가 제대로 이해를 못한건지, 아니면 기존 소스자체가 문제인지 모르겠지만
바로 전 방법으로 이리저리 테스트를 해봤는데, 여전히 정상 작동하지 않습니다.

참고로 제
index.php와 게시판 write.skin.php에 아래 처럼 되어 있고,
.
.
.
<script src="<?php echo G5_THEME_JS_URL ?>/소스.php"></script>
<link rel="stylesheet" type="text/css" href="<?php echo G5_THEME_CSS_URL;?>/jquery.datetimepicker.css">
<script src="<?php echo G5_THEME_JS_URL;?>/jquery.datetimepicker.js"></script>
.
.
.
<input id="sdate" name="sdate" class="datetimepicker" type="text" readonly placeholder="날짜 선택">



소스.php는

<?php if(!preg_match("/".$_SERVER['HTTP_HOST']."/i",$_SERVER['HTTP_REFERER'])) exit;?>
function setSelectBox(year1,mon1,day1,hour1,minute1,year2,mon2,day2,hour2,minute2)
{
$('#year1').val(year1);
$('#mon1').val(mon1);
$('#day1').val(day1);
$('#hour1').val(hour1);
$('#minute1').val(minute1);

$('#year2').val(year2);
$('#mon2').val(mon2);
$('#day2').val(day2);
$('#hour2').val(hour2);
$('#minute2').val(minute2);
}
.
.
.

$('#sdate').datetimepicker({
allowTimes:at,
timepicker:false,
format: 'Y-m-d',
onClose:function(ct,$i){
  if($("#sdate").val() != "" && $("#edate").val() != "") {  
GoPayCheck();
  }
},onShow:function( ct ){
  this.setOptions({
  minDate:"<?php echo date('Y-m-d', strtotime('+ 5 day')); ?>",
    maxDate:jQuery('#edate').val()?jQuery('#edate').val():false
  })
  }
});

$('#edate').datetimepicker({
allowTimes:at,
timepicker:false,
format: 'Y-m-d',
onClose:function(ct,$i){
  if($("#sdate").val() != "" && $("#edate").val() != "") {  
GoPayCheck();
  }
},onShow:function( ct ){
var startDate = jQuery('#sdate').val();
if (startDate !== "") {
var maxDate = new Date(startDate);
maxDate.setDate(maxDate.getDate() + 15); // 시작일로부터 7일 이후
maxDate = maxDate.toISOString().split('T')[0]; // ISO 형식의 날짜 문자열로 변환
this.setOptions({
minDate: startDate,
maxDate: maxDate
});
} else {
this.setOptions({
minDate: "<?php echo 'G5_TIME_YMD';?>"
});
}
},
});
.
.
.
이런식으로 되어 있는 상태입니다.

minDate:"<?php echo date('Y-m-d', strtotime('+ '.$config['cf_1'].' day')); ?>",

안녕하세요.
친절하신 답변 감사합니다.

페이지내에 저 소스를
<script>
 .....
</script>
이렇게 넣었을때는 알려주신 방법으로 여분필드(cf_1) 값을 불러오는게 됩니다.

그런데, 저 소스를 여러곳에서 불러오는지라
별도의 스크립트 파일을 만들어서 <script src="">로 불러오고 있는데,
이렇게하면 정상적으로 작동을 안하네요.

혹시 이때는 방법이 없을까요?

minDate:"<?php echo date('Y-m-d', strtotime('+ '.$config['cf_1'].' day')); ?>",
minDate:"<?php echo date('Y-m-d', strtotime("+ {$config['cf_1']} day")); ?>",

 

둘다 가능합니다. 

안녕하세요.
친절하신 답변 감사합니다.

페이지내에 저 소스를
<script>
 .....
</script>
이렇게 넣었을때는 알려주신 방법으로 여분필드(cf_1) 값을 불러오는게 됩니다.

그런데, 저 소스를 여러곳에서 불러오는지라
별도의 스크립트 파일을 만들어서 <script src="">로 불러오고 있는데,
이렇게하면 정상적으로 작동을 안하네요.

혹시 이때는 방법이 없을까요?

친절하신 답변 감사합니다.
아... 제가 원하는대로는 사용할 수 없는건가보네요.

실은 제가 <script src="">로 파일을 불러올때,
.js 파일이 아닌
.php 파일로 불러오고 있습니다.
동일한 소스지만 소스 불펌을 위해서
파일 맨 위에 <?php if(!preg_match("/".$_SERVER['HTTP_HOST']."/i",$_SERVER['HTTP_REFERER'])) exit;?>를 넣어서요.

지금보니
  minDate:"<?php echo date('Y-m-d', strtotime('+ 5 day')); ?>",
이 부분도 기존에 .php로 불러올때는 정상적으로 작동했는데,
이번에 이리저리 테스트해보면서 .js로 불러오니 정상적으로 작동을 안하네요.

php 변수를 javascript변수로 값을 넣어주고 그 값을 스크립트 파일 안에서 사용해야 한다고 하셨는데,
이건 간단한 작업이 아니겠지요?

이걸 참고해보시는건 어떨까요?

 

 

<!DOCTYPE html>
<html>
<head>
  <title>My Page</title>
  <link rel="stylesheet" href="path/to/datetimepicker.css">
  <script src="path/to/jquery.min.js"></script>
  <script src="path/to/datetimepicker.js"></script>
</head>
<body>
 

  <input type="text" id="sdate">

  

  <script>
    $(document).ready(function() {
      var cf1Value = "<?php echo $config['cf_1']; ?>";

      $('#sdate').datetimepicker({
        allowTimes: at,
        timepicker: false,
        format: 'Y-m-d',
        onClose: function(ct, $i) {
          if ($("#sdate").val() != "" && $("#edate").val() != "") {
            GoPayCheck();
          }
        },
        onShow: function(ct) {
          var minDate = new Date();
          minDate.setDate(minDate.getDate() + parseInt(cf1Value));

          this.setOptions({
            minDate: minDate.toISOString().split('T')[0],
            maxDate: jQuery('#edate').val() ? jQuery('#edate').val() : false
          });
        }
      });
    });
  </script>
</body>
</html>

계속 시간내어주셔서 정말 감사합니다.
기존의 스크립트는 <script src="">로 그대로 불러오고,

아래 부분만 별도로 페이지내에 <input type="text" id="sdate"> 다음에 넣어봤는데,
정상작동하지 않습니다.

 <script>
    $(document).ready(function() {
      var cf1Value = "<?php echo $config['cf_1']; ?>";

      $('#sdate').datetimepicker({
        allowTimes: at,
        timepicker: false,
        format: 'Y-m-d',
        onClose: function(ct, $i) {
          if ($("#sdate").val() != "" && $("#edate").val() != "") {
            GoPayCheck();
          }
        },
        onShow: function(ct) {
          var minDate = new Date();
          minDate.setDate(minDate.getDate() + parseInt(cf1Value));

          this.setOptions({
            minDate: minDate.toISOString().split('T')[0],
            maxDate: jQuery('#edate').val() ? jQuery('#edate').val() : false
          });
        }
      });
    });
  </script>

기존 스크립트에서

    $('#sdate').datetimepicker({
        allowTimes:at,
        timepicker:false,
        format:    'Y-m-d',
        onClose:function(ct,$i){
          if($("#sdate").val() != "" && $("#edate").val() != "") {             
            GoPayCheck();
          }
        },onShow:function( ct ){
  this.setOptions({
  minDate:"<?php echo date('Y-m-d', strtotime('+ 5 day')); ?>",
    maxDate:jQuery('#edate').val()?jQuery('#edate').val():false
  })
  }
    });
이 부분은 그대로 두어보기도 하고, 삭제해 보기도 했습니다.
혹시나 기존 스크립트 부분을 위 내용으로 변경도 해보았지만 역시 정상작동하지는 않네요.

제가 기본 지식이 없는 상태에서 짜집기를 하다보니 알려주신 내용을 정확히 파악했는지도 잘 모르겠습니다.

이걸 한번 참고해 보세요~

 

<?php
$config_cf_1 = $config['cf_1'];
?>
<script>

//JSON으로 인코딩하여 JavaScript 변수 config_cf_1에 할당하는 과정
var config_cf_1 = <?php echo json_encode($config_cf_1); ?>;
</script>

 

$('#sdate').datetimepicker({
    allowTimes: at,
    timepicker: false,
    format: 'Y-m-d',
    onClose: function (ct, $i) {
        if ($("#sdate").val() != "" && $("#edate").val() != "") {
            GoPayCheck();
        }
    },
    onShow: function (ct) {
        this.setOptions({
            minDate: config_cf_1, // config_cf_1 변수 사용
            maxDate: jQuery('#edate').val() ? jQuery('#edate').val() : false
        })
    }
});
 

안녕하세요.
친절하신 답변 감사합니다.

다른 두분 답변에 댓글을 달았듯이,
다른 두분께서 알려주신 방법으로

페이지내에 저 소스를
<script>
 .....
</script>
이렇게 넣으면 여분필드(cf_1) 값을 불러오지만
제가 <script src="">로 불러오고 있는데, 이때는 정상적으로 작동을 안합니다.

그래서 제이앤님께서 알려주신 방법으로 테스트 해보려고 하는데,
<?php
$config_cf_1 = $config['cf_1'];
?>
<script>

//JSON으로 인코딩하여 JavaScript 변수 config_cf_1에 할당하는 과정
var config_cf_1 = <?php echo json_encode($config_cf_1); ?>;
</script>
를 어느 부분에 어떤식으로 넣어야 할지 모르겠습니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,674 | RSS
QA 내용 검색

회원로그인

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