【问题标题】:Help modify a javascript - need to open link instead of displaying result帮助修改 javascript - 需要打开链接而不是显示结果
【发布时间】:2009-08-26 14:41:14
【问题描述】:

我正在尝试修改来自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>

我已将“完成”功能更改为如下:

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非常是新手。任何人都可以帮助菜鸟让它工作吗? :)

【问题讨论】:

    标签: javascript html web-applications


    【解决方案1】:

    试试这个:

    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”数组的第一个数组位置。

    【讨论】:

      【解决方案2】:

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

      请注意,这个特定的事情(更改页面)在不同的浏览器中是不同的,所以如果你在特定的浏览器上遇到问题,你应该谷歌“javascript redirect”

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:

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

          window.location = "first.html?var1Name=" + var1 + "&var2Name=" + var2;

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

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

          您可能想查看window.location.search 属性。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2013-02-12
            • 1970-01-01
            • 1970-01-01
            • 2015-08-06
            • 2011-05-13
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多