2011-08-15 25 views
-1

這是處理 - 我有兩個文件,main.html和processing.php。在PHP文件,更新我在main.html中某些元素 - 但不管是什麼原因,我遇到了麻煩HTML或從main.html中的javascript值(可能)只是AJAX/PHP的問題

例 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)不起作用 - ik eep在$ 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)"; 
    ?> 

想法?

+3

哪裏是JavaScript/AJAX代碼?在PHP代碼中,您有Javascript混合。 –

+5

您不能在PHP中執行JS,也不能訪問DOM。瞭解一些Web開發基礎知識。 – Hnatt

+0

我希望這只是一個例子,在「現實生活」中,您會清理您的輸入。 – JJJ

回答

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

+0

's/Amout /金額/' –

+1

是的 - .-看到,並修復它:) thx – walialu

+0

抱歉不接受,我有點關掉所有其他評論 – timw07

0

從PHP中,只能訪問通過請求傳遞的參數,而不能訪問客戶端瀏覽器上的元素。通常,這是通過使用表單和php腳本中的$ _POST變量完成的。

或者,你可以,呼籲process.php之前,調用JavaScript讀取跨度的值,並將它作爲參數傳遞給請求(GET或POST將工作這一點)

相關問題