如何在一个javascript函数中调用多个window.location.href?
我试图用一个JavaScript函数解析多个href。当我取消标记警报时,它工作正常。我假设这与时间有关,但我不确定最好的方法 我尝试过使用sleep命令来添加某种暂停,但没有像我预期的那样起作用如何在一个javascript函数中调用多个window.location.href?,javascript,window.location,Javascript,Window.location,我试图用一个JavaScript函数解析多个href。当我取消标记警报时,它工作正常。我假设这与时间有关,但我不确定最好的方法 我尝试过使用sleep命令来添加某种暂停,但没有像我预期的那样起作用 function pName(selectObject) { var x = selectObject.value; var y = selectObject.value.length; if (x === undefined) { x = 97; }
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;
}
似乎您正试图将
window.location.href
设置为先转到str
,然后再转到nxt
。一旦导航到页面str
,JavaScript将停止执行,您将无法随后触发重定向到nxt
;不能让一个页面依次导航到两个不同的页面
显而易见的解决方案是直接从第1页重定向到第3页(nxt
),完全忽略/绕过第2页(str
)。但是,如果您明确希望用户访问这两个页面,则需要在第2页(str
)本身设置一个自动重定向,将您带到nxt
这可以通过在第2页(
str
)上简单地设置window.location.href=nxt
来实现,但请记住,您实际上需要将设置nxt
计算结果的逻辑转移到第2页(str
)您似乎正在尝试将window.location.href
设置为先转到str
,然后再转到nxt
,而不是将其放在第一页上。。一旦导航到页面str
,JavaScript将停止执行,您将无法随后触发重定向到nxt
;不能让一个页面依次导航到两个不同的页面
显而易见的解决方案是直接从第1页重定向到第3页(nxt
),完全忽略/绕过第2页(str
)。但是,如果您明确希望用户访问这两个页面,则需要在第2页(str
)本身设置一个自动重定向,将您带到nxt
这可以通过在第2页(
str
)上简单地设置window.location.href=nxt
来实现,但请记住,您实际上需要将设置nxt
计算结果的逻辑转移到第2页(str
)我没有把它放在第一页上。我能够使用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);
};
}
我能够使用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);
};
}
我不太明白。你是说在页面本身中编写代码。这是一个.js文件,我保存了所有函数。这个特定事件是由onChange触发的,我需要解析这个事件的多个值。当用户在表单中输入数据时,我需要发送这两条信息。onchange=“pName(this);sendnew();return false;”Edit:当警报未标记时,它工作正常,这也很奇怪。我不确定我是否遵守了。你是说在页面本身中编写代码。这是一个.js文件,我保存了所有函数。这个特定事件是由onChange触发的,我需要解析这个事件的多个值。当用户在表单中输入数据时,我需要发送这两条信息。onchange=“pName(this);sendnew();return false;”Edit:当警报未标记时,它工作正常,这也很奇怪。