我正在尝试使用一个JavaScript函数解析多个href。当我取消标记警报时,它可以正常工作。我假设它与计时有关,但我不确定做到这一点的最佳方法。
我已经尝试过使用sleep命令来添加某种暂停,但这并没有达到我的预期。
function pName(selectObject) {
var x = selectObject.value;
var y = selectObject.value.length;
if (x === undefined) {
x = 97;
}
str = '1st page here=' + "'" + x + "'";
//alert(str);
window.location.href = str;
if (y == 0) {
nxt = '2nd page - 1';
} else {
nxt = '2nd page - 2';
}
//alert(nxt);
window.location.href = nxt;
}
答案 0 :(得分:2)
似乎您正在尝试将window.location.href
设置为先进入str
,然后再进入nxt
。导航到页面str
后,JavaScript将停止执行,并且您将无法随后 触发重定向到nxt
的操作;您无法让一个页面一个接一个地导航到两个不同的页面。
显而易见的解决方案是直接从第1页直接重定向到第3页(nxt
),而完全忽略/绕过第2页(str
)。但是,如果您明确希望用户访问两个页面,则需要在第2页(str
)自身上设置自动重定向才能进行您nxt
。
这可以通过在第2页(window.location.href = nxt
)上简单地设置str
来完成,尽管要记住,您实际上需要转移设置nxt
的逻辑移至第2页(str
),而不是将其放在第一页上。
答案 1 :(得分:0)
我能够使用onInput并将其作为自己的第二个函数来处理。
onchange="pName(this);sendnew();return false;" onInput="sData(this);sendnew();return false;"
function pName(selectObject) {
var x = selectObject.value;
if (x === undefined) {
x = 97;
}
str = 'Command 1'+ "'" + x + "'" ;
//alert(str);
window.location.href = str;
}
function sData (selectObject) {
var y = selectObject.value.length;
if (y == 0) {
window.location.href = 'Command 2 - B' ;
} else {
window.location.href = 'Command 2 - B' ;
//alert(str);
};
}