第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

將 PHP 代碼添加到動(dòng)態(tài)生成的 HTML 數(shù)據(jù)中

將 PHP 代碼添加到動(dòng)態(tài)生成的 HTML 數(shù)據(jù)中

茅侃侃 2023-10-24 20:02:24
我正在嘗試創(chuàng)建一個(gè)網(wǎng)站,該網(wǎng)站基本上有很多按鈕,這些按鈕將在單擊時(shí)執(zhí)行特定的 PHP 文件,并在同一屏幕上的空框中顯示其結(jié)果。這些 PHP 文件位于test_scripts與index.php.我認(rèn)為顯而易見(jiàn)的步驟是創(chuàng)建一個(gè)循環(huán)來(lái)迭代這些文件并動(dòng)態(tài)創(chuàng)建它們的用戶界面。所以我在中間寫(xiě)了下面的PHP代碼index.php#Index.php... <?php    $dir_itr = new DirectoryIterator("test_scripts");    foreach ($dir_itr as $file) {        if ($file->isFile()) {            $filename = $file->getFilename();            $formattedFileName =                '<button                     class="box button is-large is-fullwidth is-primary is-light"                     onclick="loadScriptFileData($filename)">                               $filename                 </button>';            print $formattedFileName;        }    }?>...這loadScriptFileData()是一個(gè)用 head 中的 script 標(biāo)簽編寫(xiě)的 JavaScript 函數(shù):<!--index.php--><script>    function loadScriptFileData(filename) {        alert(filename);    }</script>foreach循環(huán)運(yùn)行正常,但 JavaScript 函數(shù)和生成的 HTML 無(wú)法正常工作。頁(yè)面上有預(yù)期數(shù)量的按鈕,但每個(gè)按鈕只有名稱作為單詞"$filename",而不是實(shí)際預(yù)期的文件名。JavaScript 的情況更糟,它直接不起作用并在控制臺(tái)中給出錯(cuò)誤,如下所示Uncaught ReferenceError: $filename is not defined at HTMLButtonElement.onclick ((index):71)為什么 $variable 沒(méi)有轉(zhuǎn)換為字符串?我什至嘗試了 toString() 函數(shù),但仍然不好。我做錯(cuò)了嗎?
查看完整描述

3 回答

?
慕標(biāo)5832272

TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個(gè)贊

使用單引號(hào)時(shí)不會(huì)解析/解釋變量。

代替

$formattedFileName= '<button 
  class="box button is-large is-fullwidth is-primary is-light" 
  onclick="loadScriptFileData($filename)">$filename</button>';

$formattedFileName= "<button 
  class=\"box button is-large is-fullwidth is-primary is-light\" 
  onclick=\"loadScriptFileData('$filename')\">$filename</button>";


查看完整回答
反對(duì) 回復(fù) 2023-10-24
?
小唯快跑啊

TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個(gè)贊

另一種選擇(這是我個(gè)人的偏好)是在輸出 HTML 時(shí)結(jié)束 PHP 塊,并在需要時(shí)回顯 PHP 變量:


if ($file->isFile()) {

    $filename = $file->getFilename();

    // Let's end the PHP block

    ?>


        <button class="box button is-large is-fullwidth is-primary is-light"

            onclick="loadScriptFileData('<?= $filename ?>')">

            <?= $filename ?>

        </button>


    <?php // Open the PHP block again

}

這樣做的好處是 IDE 會(huì)在語(yǔ)法上正確突出顯示代碼(大多數(shù) IDE 不會(huì)對(duì) PHP 中的 HTML 內(nèi)引號(hào)執(zhí)行此操作)。


您也不需要轉(zhuǎn)義引號(hào)或手動(dòng)打印內(nèi)容,因?yàn)樗鼤?huì)立即輸出。


查看完整回答
反對(duì) 回復(fù) 2023-10-24
?
喵喵時(shí)光機(jī)

TA貢獻(xiàn)1846條經(jīng)驗(yàn) 獲得超7個(gè)贊

這是個(gè)人喜好,但我建議使用串聯(lián)或花括號(hào):


使用大括號(hào)(注意:必須用雙引號(hào)括起來(lái)):


$formattedFileName =

    "<button

        class="box button is-large is-fullwidth is-primary is-light"

        onclick="loadScriptFileData({$filename})">

        {$filename}

    </button>";

使用串聯(lián):


$formattedFileName =

    '<button

        class="box button is-large is-fullwidth is-primary is-light"

        onclick="loadScriptFileData(' . $filename . ')">

        ' . $filename . '

    </button>';

是的,如果使用雙引號(hào),則可以在 PHP 的字符串中使用變量,而且肯定有很多人喜歡這樣做。對(duì)我來(lái)說(shuō),使用這兩種方法之一似乎更干凈且不易出錯(cuò)。


使用雙引號(hào)會(huì)導(dǎo)致您對(duì) HTML 屬性使用單引號(hào)或強(qiáng)制您轉(zhuǎn)義它們。


如果您不希望變量后面有空格,則不使用連接或花括號(hào)可能會(huì)導(dǎo)致問(wèn)題:


$var = 'Pizza';

echo "$vars are awesome!" // Not the best example, but you get the idea

歸根結(jié)底,這是個(gè)人喜好。但正如另一個(gè)答案中所述,如果用單引號(hào)括起來(lái),則不能在字符串中使用變量。


查看完整回答
反對(duì) 回復(fù) 2023-10-24
  • 3 回答
  • 0 關(guān)注
  • 162 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)