这是交易 - 我有两个文件,main.html和processing.php。在php文件中,我更新了main.html上的某些元素 - 但无论出于何种原因,我无法从main.html获取html或javascript值
实施例 main.html包含
<span class="amount" id="money_amount">55</span>
processing.php包含很多东西,其中以下一行有效(更新html页面上的money_amount id),其中moneyWorks是一个javascript变量
document.getElementById("money_amount").innerHTML = moneyAmount;
以下php代码(在processing.php中)不起作用 - 我在$ newbalance中继续获得0的值
<?php
$newbalance = $_GET['document.getElementById("money_amount").innerHTML'];
$sql = "UPDATE tbl_balance SET amount= " . $newbalance . " where userid = {$_SESSION['userid']}";
//mysql_query($sql);
echo "alert($newbalance)";
?>
思想?
答案 0 :(得分:1)
你可以做一些非常肮脏的事情,但它有效
<span class="amount" id="money_amount">55</span>
<img style="position:absolute;top:-20px;left:-20px;width:1px;height:1px;" src="about:blank" id="fake_request_image" />
然后你会像
那样做document.getElementById("fake_request_image").src='myPHPfile.php?moneyAmount='+document.getElementById("money_amount").innerHTML;
然后在php文件中你得到了正确的值:
$newbalance = $_GET['moneyAmount'];
)
对于这个非常脏的黑客我可能应该得到一个downvote ..但它的确有效..所以投票给我:P
答案 1 :(得分:0)
从PHP中,您只能访问通过请求传递的参数,您无法访问客户端浏览器上的元素。通常这是使用表单和php脚本中的$ _POST变量完成的。
或者,您可以在调用process.php之前调用读取span值的javascript,并将其作为参数添加到请求中(GET或POST将对此起作用)