2011-03-04 9 views
-1

PHP에서 javascript 함수를 호출하는 것이 가능하다는 것을 알았고 checkSecondValue를 호출하려고하면 아무 일도 일어나지 않습니다. 함수를 호출 할 때 변형을 포함 시켰습니다.PHP에서 JS 함수 호출하기

편집 : 선택에서 onChange 이벤트를 활성화하지 않고 맨 아래에서 호출하려고하면 작동하지 않습니다.

<!--<html> 
<head> 
    <script type="text/javascript" src="validation.js"></script> 
    </head> 
</html> 

<script src="validation.js" type="text/javascript"></script> 
--> 
<?php 
    //retrieve all the bris for the drop down 
include '../../inc/database.php'; 
$res = BbqcDatabase::getInstance()->doQuery('SELECT * FROM T_TOURNOI_BRIS'); 
$str = "<select name='ddlBrisSelected' id='ddlBrisSelected' onChange='checkSecondValue()'>"; 

$bris = ($_GET['bris']); 

if($bris == 4) 
{ 
    $bris2 = "autre"; 
} 

if($bris == null) 
{ 
    $str .= "<option value='' selected></option>"; 
} 
else 
{ 
    $str .= "<option value=''></option>"; 
} 

$i = 0; 
while($data = mysql_fetch_assoc($res)) 
{ 
    if($data['F_BRISID'] == $bris) 
    { 
     $str .= "<option value='" . $data['F_BRISID'] . "' selected '>" . $data['F_BRISTITLE'] . "</option>"; 
    } 
    else 
    { 
     $str .= "<option value='" . $data['F_BRISID'] . "'>" . $data['F_BRISTITLE'] . "</option>"; 
    } 
} 

if($bris2 == "autre") 
{ 
    $str .= "<option value='autre' selected>Autre</option>"; 
} 
else 
{ 
    $str .= "<option value='autre'>Autre</option>"; 
} 
$str .= "</select>"; 

echo $str; 

if(is_numeric($bris)) 
{ 
    /* echo "<SCRIPT language=\"JavaScript\" SRC=\"validation.js\">checkSecondValue();</SCRIPT>"; */ 
    /* echo "<script> checkSecondValue();</script>"; */ 
    /* echo "<script type=\"text/javascript\">checkSecondValue();</script>"; */ 
    /* echo '<script type="text/javascript">', 'checkSecondValue();', '</script>'; */ 
    /* echo "<SCRIPT LANGUAGE='javascript'>checkSecondValue();</SCRIPT>"; */ 
} 

?> 
+0

'checkSecondValue()'는 어디에 정의되어 있습니까? – mellamokb

+2

PHP에서 JS 함수를 호출 할 수 없습니다. 그것을하는 법을 배우기 전에 실제로 무엇을하려고하는지 배우십시오. – Jon

+0

을 validation.js –

답변

3

PHP에서 클라이언트 측 JavaScript 함수를 호출 할 수는 없지만 클라이언트가 특정 (클라이언트 측) 이벤트에서 함수를 호출하도록하는 코드를 반향시킬 수 있습니다.

PHP에서 생성 된 HTML을 살펴보고 거기에서 checkSecondValue()가 onChange 이벤트에서 실행되지 않는 이유를 확인하십시오.

+0

내 잘못, onChange 이벤트가 작동합니다. 작동하지 않는 하단 부분입니다. –

+0

하단 부분은 무엇입니까? 내가 말한 것처럼 코드의 끝 부분에서 주석 처리 한 내용을 의미한다면 PHP에서 클라이언트 측 JavaScript 함수를 호출 할 수 없습니다. 그리고 Mellanmokb이 다른 답변에서 말했듯이, 전체 페이지가로드 될 때까지 실제 함수를 호출하지 마십시오. –

0

최소한 페이지가로드 된 후에 만 ​​함수 호출이 수행되기를 원합니다. 이것은 onload 동안 신체 태그의 기능을 삽입하여 수행 할 수

<body onload="checkSecondValue();"> 

함수 호출 전체 페이지가 PHP에 의해 처리 된 후 클라이언트 측에서 실행하는 것이다. 페이지를 처리하는 동안 JavaScript와 PHP간에 앞뒤로 의사 소통 할 수 없습니다.

+0

그냥 시도하고 함수가 호출되지 않습니다. –

관련 문제