2011-08-10 4 views
0

jQuery에서 PHP의 계산 된 숫자를 사용할 수없는 이유는 무엇입니까?Javascript/jQuery에서 PHP 변수 사용

나는이 시도했다 :

<div id="time"> 
    <? echo until();?> 
</div> 
var until = $("#time").html(); 

그리고

var until = <? echo until();?>; 

을하지만 아무도 D 작동하지 않습니다 :

편집 : 계산 된 수는 472,541, 그리고 기능이 될 것입니다 :

<? 
/** 
* @desc Time until tuesday 
* @param string Time format 
* @return string timestamp 
*/ 
function until($format = ""){ 
    $now = strtotime("now"); 
    $nextTuesday = strtotime("-1 hour next tuesday"); 
    $until = $nextTuesday - $now; 
    if(empty($format)){ 
     return $until; 
    }else{ 
     return date("$format",$until); 
    } 
} 

>

편집 편집 : O : D 덕분에 많은 사람 A : D

+0

수 (doog) 도움이하기 위해 답변을 업데이트하세요? 기타? – Veger

+1

메소드와 생성 된 HTML까지 게시 할 수 있습니까? – Joe

+0

결과 소스 코드를 살펴 보았습니까? – Chronial

답변

0

당신이 스크립트 블록 내부에 그것을 시도 했 은 무슨 일이 생긴 무엇인지 모르겠지만, 지금 작동하는 것 같다 그래서 같은 :

<script type="text/javascript"> 
/* <![CDATA[ */ 

    var until = <?php echo until();?>; 
    alert(until); 

/* ]]> */ 
</script> 
+0

그래, 그냥 쓸데없는 (너무 게으른) – Mobilpadde

+0

그리고 거기에 결과를 에코한다면 html에 무엇이 인쇄됩니까? – SunnyRed

+0

변수의 정의 바로 뒤에 경고를 추가하면 472541 – Mobilpadde

0

당신이

<? $output =until(); echo $output?> 

var until = <? echo $output ?>; 
+0

-1입니다. –

+4

+1 왜냐하면 그것이 투표하기에 어리석은 이유이기 때문입니다. –

0

는 기능까지의 결과를 에코하려면, 함수 woul을 시도 할 수 있습니다 실제로 뭔가를 돌려 주어야합니다. 다음은 완벽하게 작동합니다.

function until() { 
    return '1'; 
} 

<script type="text/javascript"> 
    var until = <?php echo json_encode(until()); ?>; 
</script> 

json_encode()의 사용에 유의하십시오. 이 경우에는 필요하지 않지만 '1'만 출력합니다. 일반적으로 json_encode를 사용하는 것이 좋은 생각입니다. PHP에서 나오는 모든 것이 구문 상 유효한 Javascript가되도록 보장합니다. 구문 오류가있는 Javascript를 즉시 생성하는 것이 쉬우므로 나머지 스크립트가 즉시 삭제됩니다.

1
내가 변수로이 같은에서 PHP 값을 끌어 된 방법은 jQuery를 사용하여 다음

<div id="time" value="<?= until(); ?>"> 

</div> 

같은 새로운 기능 DIV의 속성, 뭔가를 만드는 것입니다

, 나는에 의해 변수를 당길 수 당신이 속기 <?php ?> 태그를 사용하지 않아야 먼저

var until = $('#time').attr(value); 
+0

아니요, D : – Mobilpadde

+0

을 도와주지 않았으며 $ 변수가 처음부터 올바르게 에코 될 수 있는지 확인 했습니까? 나는 $ 변수가 until()이라고 말하려고했다. 이것을 보여주기 위해 위의 내용을 편집 할 것입니다. – ntgCleaner

0

먼저 일을 말하고, 그것은하지 않는 것이 좋습니다. 둘째, 나는 당신의 문제를 추적 할 수 없습니다. 무슨 일이 일어나고 무엇을 어떻게해야합니까 어떤 오류 (들) (또는 발생한다) :

http://codepad.viper-7.com/ufrfYR