2013-07-18 172 views
-2

我有javascript函數,它返回一個總和變量。但我無法從PHP代碼中獲得它。從javascript函數傳遞變量到php

我的功能是:

function add() 
{ 
    var sum = 0; // sum initially equals to zero. 
    var newNumber = 0; // Since textfields are initially text format, I convert them into integer and equalled to newNumber variable. 
    if(document.RodeoForm.checkbox.checked == true) // If checkbox changed to true, 
    { 
     for(var i=0;i<<?php echo $_SESSION['us']; ?>;i++) // Since we have 3 numbers, loop will work 3 times. 
     { 

      newNumber = parseInt(document.getElementById("fiyat"+i).value); // Take the number from field and convert it into an integer. 
      sum += newNumber; // Add the numbers into each other. 
     } 

    } 

    document.RodeoForm.tf.value = sum; // Print the sum onto the screen. 
} 
+1

JavaScript函數不返回任何東西。它將其結果注入到DOM中。你說你不能讀取PHP代碼的結果......但是你沒有告訴我們你是如何試圖將結果傳遞給PHP的。 – Quentin

+0

你能詳細說明你的意思嗎?「但是我無法從php代碼中找到它。」 – DevZer0

+0

您需要提供更多詳細信息。變量集是什麼?你有沒有試過war_dump($ _ SESSION ['us'])? – Virus721

回答

0

您可以從JavaScript使用AJAX只能達到PHP。 Google如何從Javascript執行AJAX調用。

+1

這些陳述是誤導性的,你必須定義什麼是伸手可及的。您還可以通過常規表單發帖 – DevZer0

+0

@ DevZer0如果您有時間,現在您可以發佈正確答案。 :) –

+0

我正在休假像你說的@YogeshSuthar我今天很累人 – DevZer0

0

確保你有session_start();到該php文件的開頭,或者在包含該代碼的php文件中。

+0

我想象這是OP的原始問題...正試圖輸出會話變量,但很可能(這是一個完全基於OP代碼的教育猜測)他沒有執行session_start() – ILikeTacos

0

您可以將PHP添加到Javascript中,但不能以其他方式添加PHP,因爲PHP是服務器端,因此它可以將信息回顯到客戶端幻燈片中。

根據您使用的是什麼,您可以使用AJAX將信息發送到PHP頁面。

1

JavaScript在客戶端運行,而PHP運行在服務器端。他們不能直接相互溝通。 頁面呈現(併發送給用戶)後,所有PHP代碼都已執行並且不再在源代碼中可見。然而,JavaScript隨HTML一起發送,並將在客戶端的瀏覽器中執行。如果您希望PHP瞭解JavaScript生成的值,則必須使用AJAX手動發送數據。