2009-08-26 37 views
1

我試圖修改代碼從this script。基本上我試圖讓腳本將瀏覽器發送到另一個頁面,而不是在div中顯示結果。幫助修改javascript - 需要打開鏈接而不是顯示結果

這是有問題的代碼:

<script type="text/javascript"> 
function openOneSlot() { 
SpinningWheel.addSlot({1: 'First', 2: 'Second'}); 

SpinningWheel.setCancelAction(cancel); 
SpinningWheel.setDoneAction(done); 

SpinningWheel.open(); 
} 

function done() { 
var results = SpinningWheel.getSelectedValues(); 
document.getElementById('result').innerHTML = 'values: ' + results.values.join(' ') + '<br />keys: ' + results.keys.join(', '); 

} 

function cancel() { 
document.getElementById('result').innerHTML = 'cancelled!'; 
} 


window.addEventListener('load', function(){ setTimeout(function(){ window.scrollTo(0,0); },  100); }, true); 
</script> 

我已經改變了「完成」功能如下:

function done() { 
var results = SpinningWheel.getSelectedValues(); 


if (SpinningWheel.getSelectedValues() == "1,First") 
{ 
window.location="first.html"; 
} 
else if (SpinningWheel.getSelectedValues() == "2,Second") 
{ 
window.location="second.html"; 
} 
else 
{ 
alert("Damn, Still not working.."); 
} 

但現在我失去了因爲我新來的JavaScript ..任何人都可以幫助菜鳥得到這個工作? :)

回答

0

嘗試這種情況:

function done() { 
var results = SpinningWheel.getSelectedValues(); 

if (results.values[0] == "First") 
{ 
    window.location.href="first.html"; 
} 
else if (results.values[0] == "Second") 
{ 
    window.location.href="second.html"; 
} 
else 
{ 
    alert("Damn, Still not working.."); 
} 

返回的值似乎是所有的槽的陣列。由於你只有一個插槽,我只查看「results.values」數組的第一個數組位置。

+0

謝謝親切的先生!這是完美的工作。 – Finne 2009-08-26 15:16:51

0

嘗試location.href代替了window.location

注意這個特別的事情(變更頁)在不同瀏覽器做不同的,所以你應該谷歌「JavaScript重定向」如果你碰到一個麻煩特定瀏覽器

0

看看SpinningWheel.getSelectedValues()返回的是什麼。它是具有兩個屬性keysvalues的對象。因此,它不等於「1,第一」。檢查這些屬性中的內容,並根據這些屬性制定條件。

0

傳遞經過的變量,請使用以下語法:

了window.location = 「?first.html var1Name =」 + VAR1 + 「& var2Name =」 + VAR2;

要獲取有關first.html和second.html頁這些變量的值,你可以使用窗口的查詢字符串,以獲得它們的值保持:

http://www.eggheadcafe.com/articles/20020107.asp

你會想看看在window.location.search屬性。