2010-06-16 5 views
5

내가 PHP 조건을 사용하고있는 경우 PHP에서 자바 스크립트 함수를 실행하고 내가 사용하여 클릭 몇 가지 중 하나없이 자바 스크립트 기능을 실행할 수 있는지 알고 싶어 :는 자바 스크립트를 문

if($value == 1)  
{ 
    JavaScript to run the function 
} 

을 내가 어떻게 할 것 그?

답변

27

먼저 JavaScript는 클라이언트 측에서 브라우저에서 실행되지만 PHP 코드는 서버에서 평가된다는 점을 명심하십시오. 이러한 평가는 서로 다른 시간에 다른 장소에서 발생합니다. 따라서 PHP에서는 JavaScript 함수를 호출 할 수 없습니다.

그러나 PHP를 사용하면 PHP 조건이 true 일 때만 렌더링되도록 HTML 및 JavaScript 코드를 렌더링 할 수 있습니다. 어쩌면 당신은 이런 식으로 뭔가를 시도 할 수 있습니다 :

if($value == 1) { 
    echo "<script>"; 
    echo "alert('This is an alert from JavaScript!');"; 
    echo "</script>"; 
} 
8

자바 스크립트는 클라이언트 측 코드입니다, PHP는 서버 측, 그래서 PHP에서 페이지를 구축하는 동안 당신은 자바 스크립트를 실행할 수 없습니다. 당신이 대역폭을 줄 수있는 경우에, 더 좋은

<?php 
echo '<script type="text/javascript">'; 
echo 'function myFunction(){ /* do_something_in_javascript */ };'; 
echo '</script>'; 

if ($value == 1) { 
    echo '<BODY onLoad="myFunction()">'; 
} 
?> 

:

빨리 페이지가로드로 클라이언트 측에서 자바 스크립트를 실행하려면 하나의 방법은 함수를 호출 몸을 onload 처리기를 사용하는 것입니다 , jQuery를 사용하고 $(document).ready()를 사용

<?php 
if ($value == 1) { 
    echo '<script type="text/javascript">'; 
    echo '$(document).ready(function(){ /* do_something_in_javascript */ });'; 
    echo '</script>'; 
} 
?> 
2

난 당신이 IE와 다른 브라우저에서 이런 일을 할 수없는 것으로 나타났습니다. Firefox에서 작동합니다. 다른 방법으로 게시 된 각 줄을 에코해야합니다.

<?php 
if(somecondition) 
    { 
?> 

<script> 
Some javascript code 
</script> 

<?php 
    } 
?> 
0

나는이 스레드가 오래된 것을 알고 있지만 방금 건너 왔고 내 기술을 추가하려고했습니다.

JavaScript 변수에 echo 변수를 표시하고 값에 따라 작업을 수행 할 수도 있습니다. 사용자가 데이터베이스 값을 js에 배치하여 사용자가 페이지에서 수학을 수행 할 수 있도록합니다.

<script> 
var jsvar = <?php echo $phpvar ;?> 
if (jsvar = x){ do something...} 
</script> 
관련 문제