帮助修改javascript - 需要打开链接而不是显示结果

时间:2009-08-26 14:41:14

标签: javascript html web-applications

我正在尝试修改this script中的代码。基本上我试图让脚本将浏览器发送到另一个页面,而不是在div中显示结果。

这是有问题的代码:

<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>

我已将'done'功能更改为:

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的新手..任何人都可以帮助菜鸟让这个工作吗? :)

4 个答案:

答案 0 :(得分:0)

尝试使用location.href而不是window.location

请注意,此特定内容(更改页面)在不同浏览器中的显示方式不同,因此如果您在特定浏览器上遇到问题,则应该谷歌“javascript重定向”

答案 1 :(得分:0)

查看SpinningWheel.getSelectedValues()返回的内容。它是一个具有两个属性keysvalues的对象。因此,它不等于“1,First”。检查这些属性中的内容,并根据这些属性建立条件。

答案 2 :(得分:0)

要传递变量,请使用以下语法:

window.location =“first.html?var1Name =”+ var1 +“&amp; var2Name =”+ var2;

要在first.html和second.html页面上获取这些变量的值,您可以使用窗口的查询字符串来获取它们的值:

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

您需要查看window.location.search属性。

答案 3 :(得分: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”数组的第一个数组位置。