2016-04-05 48 views
1

所以我正在製作一個JavaScript遊戲,我有三個文件。第一個文件看起來是這樣的:跨文件連接陣列

var player_items = []; 

第二個文件有一個按鈕,按下一個項目到數組:

player_item.push("sword"); 

在第三個文件,我有一個控制檯日誌,顯示了我項目:

console.log(player_items); 

所以後來當我去發揮我的比賽,我可以創建第二個文件的項目,但它不是推到第三檔,所以我可以使用它們。我已將所有文件連接到

<script type="text/javascript" src="player_items.js"/></script> 

任何想法?

+0

你的變量是全球性的嗎? 「console.log」顯示了什麼?你確定腳本按正確的順序運行嗎?如果您在'push'之後添加另一個'console.log',會發生什麼? – Oriol

+0

我很確定它是全球性的。它顯示一個空數組@Oriol – coding

+1

我認爲錯字只是在這裏,而不是在你的代碼? – Toxantron

回答

0

我想我明白你想要做什麼,我會發佈一個答案。

爲了從表單獲取信息,您必須使用服務器端語言(如PHP)來執行此操作。

select.html - > play.html使用PHP

基本形式提交:http://php.net/manual/en/language.variables.external.php

現在有沒有PHP的一種方式,但它留下你的價值觀暴露在URL字符串。如mygame.com?x=50 & Y = 70 & Z = 6560

於是就select.html我們有一個表格

<form action="play.html"> 
    <input name = "x"></input> 
    <input name = "y"></input> 
    <input name = "z"></input> 
</form> 

而在遊戲中,我們使用JavaScript來讀取URL的參數使用document.location.search:

var x = document.location.search.split("=")[1].split("&")[0] 
var x = document.location.search.split("=")[2].split("&")[0] 
var y = document.location.search.split("=")[3] 

但是,這會留下一個漏洞,有人可以注入自己的價值觀。

希望這會有所幫助。