簡體   English   中英

在PHP中調用JS函數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM