如何将变量从PHP传递给JS,对变量执行数学运算然后输出到页面元素

时间:2012-11-20 19:17:11

标签: php javascript

  

可能重复:
  how to access PHP variables from within JavaScript?

我正在尝试将一个变量从mySQL传递给PHP然后传递给JavaScript以对其执行一些数学计算,然后将结果显示在特定区域的页面上(在<p>元素中,并为其分配了特定的ID )。这有可能还是有更简单的解决方案?

谢谢!

我已经知道如何从MySQL到PHP的变量只是在那之后无法做什么。

这是我阅读回复后的更新代码。仍然没有工作,但我确信我做错了什么!

<p id="p_id"><?php echo $price; ?></p>
<input type="radio" group="radio_group" value="Reduce 10%" onclick="radio_click();" />

<script type="text/javascript">
var price = <?php echo $price; ?>;

function radio_click() {
var target = document.GetElementById('p_id');
var final_number; // this will be variable your store the final number in

final_number = price * .9;
target.innerHTML = final_number;

}
</script>

3 个答案:

答案 0 :(得分:2)

简而言之,您必须以JavaScript友好格式(引号和内容)将变量作为字符串传递给<script>标记。

<?php

$variable = 5;
$javaScriptAccessible = '
    <script type="text/javascript">
        var javaScriptAccessible = "'. $variable . '";
    </script>
';

echo $javaScriptAccesible;

另外,你可以JSON它:

<?php

$variable = 5;
$javaScriptAccessible = '
    <script type="text/javascript">
        var javaScriptAccessible = '. json_encode($variable) .';
    </script>
';

echo $javaScriptAccessible;

使用JSON,引号将自动附加。

在这里,您可以看到两者的实际效果:http://codepad.viper-7.com/Jyfw31

更新

以下是更精确的,我认为,更好地理解示例:http://codepad.viper-7.com/1cloyB
您唯一需要做的就是在radio按钮/元素上使用它。

我强烈建议使用JSON,因为它实际上代表JavaScript Object Notation,它有可能是地球上每一种编程语言的库,并且专门用于将JS数据从一个环境传递到其他。

http://php.net/manual/en/function.json-encode.php在这里,您可以看到您可以传递的多个选项,以便以不同方式呈现它。

答案 1 :(得分:0)

要将数据从PHP传递到JavaScript,只需echo即可。 例如,假设您要在消息框中显示数据:

$data="something";
echo "<script>";
// Do the maths
echo 'var = ' . $data . ' + 1';
echo 'document.write("<p id=\"someID\">" + var + "</p>");' // PHP code writing Javascript code to write HTML code. Wow.
echo "</script>";

如果要在单击单选按钮时显示数据:

<input type="radio" onClick="someFunction();">
<?php
echo "<script>function someFunction() {";
// Do the maths
echo 'var = ' . $data . ' + 1';
echo 'document.write("<p id=\"someID\">" + var + "</p>");' // PHP code writing Javascript code to write HTML code. Wow.
echo "}</script>";
?>

* 修改:如果<p>标记已存在,请使用document.GetElementById(\"someID\").innerHTML = var;代替document.write("<p id=\"someID\">" + var + "</p>");

答案 2 :(得分:0)

只需将PHP中的变量输出到<script>项。然后根据您的计算设置<p>的innerHTML属性。你可以将它放入一个函数中,然后通过单选按钮点击它来调用它。

<p id="p_id"><!-- Your value will be inserted here --></p>
<input type="radio" group="radio_group" value="some_value" onclick="radio_click();" />

<script type="text/javascript">
var your_number = <?php echo $php_number; ?>;

function radio_click() {
    var target = document.GetElementById('p_id');
    var final_number; // this will be variable your store the final number in

    // do your math here using your_number variable

    target.innerHTML = final_number;

}
</script>