簡體   English   中英

在PHP中定義JS函數

[英]Defining a JS function in PHP

我正在研究一個小型網頁,該網頁具有.php-include層次結構。 現在,我想生成兩個依賴的下拉菜單,在第一個菜單中選擇一個選項后,第二個菜單將更新。

我希望此頁面的代碼可以保留在一個文件中,因為我想在不拆分代碼的情況下實現這一目標。

代碼看起來像這樣:

<?php
echo '<div id="dashheader">
<form action="..." method="get" enctype="text/plain">
<p id="dashheadline">Selbstkosten ermitteln</p>
..
<td><select name="lieferant" onChange="javascript:updateArtikel(this.value);" >
...
<div id="art">
    <select name="artikel">
    <option value="">Erst Lieferanten wählen</option>
    </select>
</div>';
?>

現在,我有了要在“ lieferant” -Dropdown(簡單Ajax調用)中進行更改時執行的Javascript:

<script type="text/javascript">
    function updateArtikel(str) {
        ...
        xmlhttp.onreadystatechange = function() {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                document.getElementById("art").innerHTML = xmlhttp.responseText;
            }
        }
        xmlhttp.open("GET","cure1.php?q="+str,true);
        xmlhttp.send();
        ...
     }
</script>

curry1.php是我在其中生成輸出的.php文件。它還包含其他php代碼,以防使用參數“ q”調用它(請參閱AJAX-Call):

if(isset($_GET['q'])){
    echo '<select id="art" name="artikel">';
    $abfrage = //MYSQL-Query; 
    $ergebnis = mysqli_query($con,$abfrage);
    while($row = mysqli_fetch_object($ergebnis))
    {
        echo '<option value = "'.$row->PositionsNr.'" > '.$row->Artikelbezeichnung.'</option>';
    }
    echo '</select>';
}

現在的問題是:是否真的有可能將此代碼保留在一個文件中? 如果沒有,如果每個“ index.php?menu = 10”加載了“ cure1.php”(我的頁面),我該如何放置代碼?

仔細查看您的php文件層次結構。 最后代碼應該像

<?php 
......
//php code
?>
<html>
    <head>
        <script>
          //javascript code
        </script>
    </head>
</html>

您也可以在php標簽中回顯所有html代碼。 這是標准的,您可能不限於這樣做。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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