php - 将 PHP 变量传递给 Javascript 函数(特定代码错误)

标签 php javascript html function

所以我进行了大量搜索并找出了如何将 PHP 变量传递给 Javascript 函数,但是当我在代码中实现它时,而不是在alert();中获取变量;我得到的窗口 <?php echo $a ?><?php echo $c ?>希望这是我忽略的小事情,但我不知道为什么它不起作用,因为我从论坛上的回复中逐行复制了它,并且用户说它有效,而且我有一个 friend 说它它有效,但是当我自己运行代码(第二个[代码] [/代码])时,它返回相同的错误。

   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<?php 
$a = 'Fatber Christmas'; 
$b = '27 Sunshine Street /n America'; 
$c = nl2br($b); 
?>

<html>

<head>      
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Kenneth So Photography</title>
    <link rel="stylesheet" href="kennethsostylesheet.css" type="text/css">
    <link rel="shortcut icon" href="Photos/favicon.png" type="image/png">

    <script type="text/javascript"> 
    function test(a,b) { 
    alert(a); 
    alert(b); 
} 
    </script>

    <script type="text/javascript" src="picScript.js"></script>
</head>

<body>

    <a onClick="test('<?php echo $a ?>', '<?php echo $c ?>');">LINK</a> 



    <div id="headerBar">
        <div id="logo">
            <a href="javascript:void(0)" ><img src="Photos/FinalizedLogo.png" alt="logo" height="100px" width="400px" onclick="setNum(1)"></a> 
        </div>
        <div id="titleBar">
            <p>
            <a href="javascript:void(0)" onclick="setNum(1)">Home</a> |
            <a href="javascript:void(0)" onclick="setNum(2)">Automotive</a> |
            <a href="javascript:void(0)" onclick="setNum(3)">Nightlife</a> |
            <a href="/about.html">About Me</a> |
            <a href="/contact.html">Contact</a>
            </p>
        </div>
    </div>
    <div id="imageBox">
        <div id="imageView">
        </div>

        <div id="imagePreview">
        </div>
    </div>
</body>
</html>

导致相同显示的独立代码

<?php 
$a = 'Fatber Christmas'; 
$b = '27 Sunshine Street /n America'; 
$c = nl2br($b); 
?> 
<html> 
<head> 
<script type="text/javascript"> 
function test(a,b) { 
    alert(a); 
    alert(b); 
} 
</script> 
</head> 
<body> 
<a onClick="test('<?php echo $a ?>', '<?php echo $c ?>');">LINK</a> 
</body> 
</html>

谢谢大家!!!

最佳答案

就语法而言,您的代码是正确的,但是 - 正如注释中所指出的 - 您始终需要为要输出到的介质(数据库、其他编程语言、html 等)准备变量。

问题是你的 php 没有被解析。

原因可能是:

  • 您的服务器上没有启用 php;
  • 您的文件名例如以 .html 结尾,而不是 .php ,导致文件不被识别为 PHP 文件;
  • 您不是从服务器请求文件,而是从文件系统请求文件。

关于php - 将 PHP 变量传递给 Javascript 函数(特定代码错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13426609/

相关文章:

php - Symfony2 : postgres database access denied

php - MYSQL:一组中varchar y:m:d的平均值

php - 根据给定的 php 数组重新排序 MySql 表行

javascript - javascript中scrollTop不适用于窗口滚动

javascript - 在 Material ui的日期选择器中更改格式日期

javascript - 通过 cypress.get() 选择 HTML 中的元素

php - 使用Google Analytics API和PHP从分析帐户获取数据

javascript - 如何在短按按钮或直到功能完成后禁用按钮

JavaScript 正则表达式查找与开始和结束模式匹配的所有子字符串

jquery - 更改水平形式以左对齐( Bootstrap )