我知道可以在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>"; */
}
?>
答案 0 :(得分:3)
您无法从PHP调用客户端javascript函数,但您可以回显使客户端在特定(客户端)事件上调用函数的代码。
只需查看从PHP中获取的生成的HTML,然后从那里尝试查看为什么onSehange事件上没有执行checkSecondValue()。
答案 1 :(得分:0)
至少,您希望在加载页面后才能进行函数调用。这可以通过在onload
:
<body onload="checkSecondValue();">
在整个页面由PHP处理之后,函数调用将在客户端执行。在页面处理过程中,您无法在JavaScript和PHP之间来回沟通。