繁体   English   中英

如何将 PHP 函数的值传递给 Javascript 变量?

[英]How to pass the value of a PHP function to a Javascript variable?

<script>
    function myFunc(a){
        document.getElementById("col2").innerHTML=a; 
        var str=a;
        if(str.charAt(0)=="c"){
            document.getElementById("col2").innerHTML="credit_card";
            var x=document.getElementById("col2").innerHTML;
            document.getElementById("col2").innerHTML= "<?php echo cc_print_info("<script> document.write(x) </script>") ;?>  ";
        }   
        
    }
</script>

我需要将cc_print_info()的值传递给document.getElementById("col2").innerHTML

我按照代码中提到的方式尝试过,但没有用

让我知道如何做到这一点

您不应该在 JS 脚本中使用 PHP - 它不起作用,但您可以使用生成 JS 脚本的 PHP,例如变量赋值:

示例代码:

<!DOCTYPE html>

<html>

    <head>
    </head>

    <body>
        <?php

            function cc_print_info($a, $b) { return $a + $b; };

            echo '<script>' . PHP_EOL;
            echo "var phpReturn = " . cc_print_info(2, 3) . ';' . PHP_EOL;
            echo '</script>' . PHP_EOL;

        ?>

        <script>
            function myFunc(a, phpReturn){

                document.getElementById("col2").innerHTML=a; 
                var str=a;
                if(str.charAt(0)=="c"){
                    document.getElementById("col2").innerHTML="credit_card";
                    var x=document.getElementById("col2").innerHTML;
                    document.getElementById("col2").innerHTML= phpReturn;
                }   
                
            }
        </script>

    </body>

</html>

请注意,PHP 必须在使用 cc_print_info 返回值的脚本之前。

上面的代码生成此 HTML:

<!DOCTYPE html>

<html>

    <head>
    </head>

    <body>
        <script>
var phpReturn = 5;
</script>

        <script>
            function myFunc(a, phpReturn){

                document.getElementById("col2").innerHTML=a; 
                var str=a;
                if(str.charAt(0)=="c"){
                    document.getElementById("col2").innerHTML="credit_card";
                    var x=document.getElementById("col2").innerHTML;
                    document.getElementById("col2").innerHTML= phpReturn;
                }   
                
            }
        </script>

    </body>

</html>

所以对于浏览器来说看起来没问题,因为你有

var phpReturn = 5;

你传递给你的函数:

function myFunc(a, phpReturn){

并使用它:

document.getElementById("col2").innerHTML= phpReturn;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM