在PHP中调用JS函数

在PHP中调用JS函数,php,javascript,Php,Javascript,我知道在php中调用javascript函数是可能的,它已经起到了作用,但当我尝试调用checkSecondValue时,什么也没发生。我已经包括了调用函数的变体 编辑:如果我试图在底部调用它而不激活select中的onChange事件,它将无法工作 <!--<html> <head> <script type="text/javascript" src="validation.js"></script> </head&

我知道在php中调用javascript函数是可能的,它已经起到了作用,但当我尝试调用checkSecondValue时,什么也没发生。我已经包括了调用函数的变体

编辑:如果我试图在底部调用它而不激活select中的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>"; */
}

?>


至少,您希望函数调用只在页面加载后发生。这可以通过在
onload期间将函数嵌入body标记来实现:

<body onload="checkSecondValue();">


PHP处理完整个页面后,将在客户端执行函数调用。在页面处理过程中,您不能在JavaScript和PHP之间来回通信。

您不能从PHP调用客户端JavaScript函数,但可以回显使客户端在特定(客户端)事件上调用函数的代码


只需查看从PHP生成的HTML,然后从中尝试了解为什么在onChange事件上不执行checkSecondValue()。

哪里定义了
checkSecondValue()
在PHP中不可能调用JS函数。在学习如何执行之前,请先了解您实际试图执行的操作。在名为validation.jsCorrection的单独js文件中,可以告诉php编写javascript函数调用,但在php执行时不可能调用javascript函数。但是,由于我们没有看到
checkSecondValue
签名,我们无法告诉您出了什么问题。您能告诉我们
checkSecondValue()
的定义吗?如果你让它为其他函数工作,我很想知道这个函数有什么问题,而不是你调用它的方式。我的错,onChange事件工作,它是不工作的底部部分什么底部部分?如果您指的是在代码末尾注释掉的内容,如我所说,您不能从PHP调用客户端javascript函数。正如Mellanmokb在另一个答案中所说,在整个页面加载之前,不要实际调用函数。