在php变量上调用javascript函数

frr*_*lod 0 javascript php

使用Javascript:

function capitalizeFL(string) { 
    return string.charAt(0).toUpperCase() + string.slice(1);
}
Run Code Online (Sandbox Code Playgroud)

PHP:

echo "You have chosen a <script>document.write(capitalizeFL(".$race."));</script>";
Run Code Online (Sandbox Code Playgroud)

$race包含一个字符串.我想要的只是$race使用上面的Javascript函数来大写php变量的第一个字母,并将其打印在页面上.

我可以找到另一种方法来做到这一点,但这个JS-PHP混合的东西让我感到困惑,我非常想弄清楚为什么这不起作用.

Que*_*tin 6

看看生成的JavaScript.

document.write(capitalizeFL(value_of_race));
Run Code Online (Sandbox Code Playgroud)

这是一个标识符,而不是字符串文字.您需要在生成的JS中包含引号.

给定一个字符串,该json_encode函数将输出等效的JS文字(即使它不是有效的JSON).使用它将PHP变量转换为JS文字.

$js_race = json_encode($race);
echo "You have chosen a <script>document.write(capitalizeFL($js_race));</script>";
Run Code Online (Sandbox Code Playgroud)