如何操纵值从php中的js函数获取

时间:2014-05-06 07:20:20

标签: javascript php

我从php代码中调用了一个js函数,并从js函数调用了它的返回值,但问题是在获取值后,如果我用该值添加一些数字,它不会显示我预期的结果。这是代码: -

 <!DOCTYPE html>
 <html>
 <head>
<script>
    function returnValue(){
        document.getElementById("getVal").innerText=parseInt(5);
    }
</script>
</head>
<body onload="returnValue()">
<?php 
    $val="<span id='getVal'><script>returnVal()</script></span>";
    echo $val+2; //return 2 not 7;
?>
</body>
</html>

请帮忙。

2 个答案:

答案 0 :(得分:0)

你不能以这种方式混合php和js,因为必须在发送html之前执行php,并且一旦用户收到html就会执行javascript。

我建议你使用ajax。这样你就可以将returnValue()值发送到php脚本,在那里你可以处理它,甚至将它的输出发送回javascript。

答案 1 :(得分:0)

您需要的是AJAX呼叫。我正在使用jQuery,但您也可以使用普通的java脚本,只需google语法。

您遇到的问题是JavaScript和PHP在不同的位置运行。

PHP在服务器上运行,客户端上运行JavaScript,因此PHP将在客户端到达html文件之前完成。客户端不了解PHP。

JavaScript和PHP之间的通信由AJAX Calls处理。如果您需要进一步解释,请查阅。

在Ajax代码的JavaScript代码下面:

var data = returnValue();

$.ajax({
            type: "POST",
            dataType: 'json',
            url: yourfile.php,
            data: {data : data}
        })
        .done(function(response){
            //do something with your code like document.wirte(response)
        })
        .fail(function(jqXHR, textStatus, errorThrown){
            alert('Error : ' + errorThrown); //Error handling
        });

这里有一些PHP:

$value = $_POST['data'];
$value = $value +2;
echo $value;