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>
I need to pass the value of cc_print_info() into document.getElementById("col2").innerHTML
I tried in the way mentioned in the code but it isn't working
Let me know how to do this
解决方案
您不应该在 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;
推荐阅读
- javascript - 为什么来自 Firebase 的数据没有呈现在我的 FlatList (React Native) 中?
- javascript - 模糊字符串搜索但对象?
- nginx - Nginx 仅在从特定 IP 访问时提供错误的证书和站点
- design-patterns - 在装饰器模式中,您如何确保最低级别的元素不是装饰器?
- esp8266 - ESP8266 Micropython: [Errno 103] ECONNABORTED\r\n') 一段时间后
- powershell - powershell 将 viso 容器设置为自动调整内容
- python - 如何通过带有子文件夹的文件夹运行 python 脚本?
- flutter - RangeError (index): Invalid value: Not in range 0..1, inclusive: 2. 如何解决这个问题?
- swift - 带有 UIImageView 手势的 UIScrollView 仅适用于第一个可见图像
- html - Flex 项目在手机上对齐 - 引导程序