2012-03-01 28 views
0

我需要社區來幫助我:從HTML JavaScript中更改js中的變量值?

我在我的js文件中定義了變量x=1。我有2個HTML文件使用該變量(1.html2.html)。我想用在1.HTMLonclick事件變量x的值更改爲2永久..所以,如果我在2.HTML使用x變量它的值是21

這是我在java.js文件:

x=1; 

這是1.HTML

<html> 
    <head> 
     <script type="text/javascript" src="java.js"> 
     </script> 
    </head> 
    <body> 
     <input type="button" value="Change x" onClick="x=4"> 
      <p id="iz"></p> 
    </body> 
</html> 

這是2.HTML

<html> 
    <head> 
     <script type="text/javascript" src="java.js"> 
     </script> 
    </head> 
    <body> 
     <input type="button" value="Change x" onClick="x=x+1"> 
      <p id="iz"></p> 
    </body> 
</html> 

2.html中按鈕的結果應該是5

+0

這樣做將過多的頁面,這是最好的值傳遞的唯一途徑x在一個頁面中更改時使用會話完成,以便它可以在頁面之間保留。您也可以使用本地存儲或cookie,並從這些值中加載「x」(如果存在),如果不存在則回退到其值「1」。 – MyStream 2012-03-01 22:27:28

+0

你能舉例說明我可以用來保持頁面之間的價值的代碼嗎?我正在使用2 cols的框架集。這意味着我總是打開2個html文件。如果這讓事情變得更容易理解,我會詳細討論:我正在嘗試實現一個遊戲。爲此,我的索引被拆分爲兩個框架,其中1個是您可以點擊建築物的地圖,另一個則用於構建屬性和操作。有什麼建議麼? – Vantalk 2012-03-02 22:40:24

+0

現在,我建議您首先了解一下cookie(可能使用http://code.google.com/p/cookies/)作爲第一步。 – MyStream 2012-03-02 22:47:07

回答

2

JavaScript不起作用。沒有使用cookie或將狀態傳遞給服務器,頁面之間不存在持久性。

如果您導航到foo.html,並將它設置var foo = 1,然後導航到bar.htmlfoo將不會被設置。

0

簡短的回答,你不僅可以使用JavaScript - 網絡stateless

雖然,可以使用cookielocal storage作爲您的後備商店來保存價值。最初將其設置爲1,後續任何修改都會影響後備存儲並反映正確的值。

0

在Java腳本有你想要的不變量的持久性,你必須使用cookie,在HTML5提供了一個服務器端的形式給出或本地蓄能

0

這不是JavaScript的正常行爲,因爲你設置的值將持續任一頁面的持續時間。您可能想要做的是將x的值存儲在服務器上,將其存儲在cookie中,或將其存儲在localStorage中。

0

在您的每個頁面中,它都拉動了x=1。僅僅因爲你在一個頁面上改變一個變量並不意味着它會在另一個頁面上看到。這是您需要將變量傳遞給其他頁面的地方,您可以使用GETPOST或者Cookie或本地存儲

+0

我會先嚐試這個,因爲我還不知道如何使用cookie。 – Vantalk 2012-03-02 17:29:56

0

您的輸入標記未關閉,這是不對的。

<input type="button" value="Change x" onClick="x=4"> 

或許應該:尋找你的代碼其他原因的錯誤之前解決這些

<input type="button" value="Change x" onClick="x=4"/>