Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在一个javascript函数中调用多个window.location.href?_Javascript_Window.location - Fatal编程技术网

如何在一个javascript函数中调用多个window.location.href?

如何在一个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; }

我试图用一个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;
}

似乎您正试图将
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:当警报未标记时,它工作正常,这也很奇怪。