[英]Calling a JS function in PHP
我知道有可能在php中調用javascript函數,它已經起作用了,但是當我嘗試調用checkSecondValue時,什么也沒有發生。 我已經包含了有關調用該函數的各種信息。
編輯:如果我嘗試在底部調用它而不激活選擇中的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>"; */
}
?>
您不能從PHP調用客戶端javascript函數,但是可以回顯使客戶端在特定(客戶端)事件上調用該函數的代碼。
只需查看您從PHP中獲得的生成的HTML,然后從那里開始,看看為什么在onChange事件上不執行checkSecondValue()。
至少,您希望僅在頁面加載后才發生函數調用。 這可以通過在onload
期間將函數嵌入body標記中來完成:
<body onload="checkSecondValue();">
在PHP處理了整個頁面之后,該函數調用將在客戶端執行。 在頁面處理期間,您無法在JavaScript和PHP之間來回通信。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.