Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.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打开新页面_Javascript_Php_Html - Fatal编程技术网

如何在不点击链接的情况下用javascript打开新页面

如何在不点击链接的情况下用javascript打开新页面,javascript,php,html,Javascript,Php,Html,我已经阅读了很多关于这方面的帖子,并尝试了不同的方法,但仍然有困难。我在php页面中有一个html表单,它有一个onClick命令,当用户单击屏幕上的按钮时,可以运行javascript验证过程。这一切都很好,但在验证结束时,我希望根据customURL变量的值在同一选项卡中打开一个新的php页面,该变量确实包含正确的URL。但是页面将只重新加载自身,而不是新页面。我尝试了window.location.href、location.href和document.location。有没有人知道为什么

我已经阅读了很多关于这方面的帖子,并尝试了不同的方法,但仍然有困难。我在php页面中有一个html表单,它有一个onClick命令,当用户单击屏幕上的按钮时,可以运行javascript验证过程。这一切都很好,但在验证结束时,我希望根据customURL变量的值在同一选项卡中打开一个新的php页面,该变量确实包含正确的URL。但是页面将只重新加载自身,而不是新页面。我尝试了window.location.href、location.href和document.location。有没有人知道为什么这些都不起作用,或者可以建议一种替代方法?多谢各位

if(optionChosen == "overview") { customURL ='overview.php'; }
if(optionChosen == "tasks")    { customURL ='tasks.php';}
if(optionChosen == "guidance") { customURL ='guidance.php';}
if(optionChosen == "feedback") { customURL ='feedback.php';}
if(optionChosen == "progress") { customURL ='progress.php';}

customURL = customURL + "?uid=" + unitChosen;
document.location = customURL;

它是window.location,而不是document.location,更准确地说,它实际上是window.location.href

它是window.location,而不是document.location,更准确地说,它实际上是window.location.href

首先确保选择了任何选项,或者像这样编写代码

if(optionChosen == "overview") { customURL ='overview.php'; }
else if(optionChosen == "tasks")    { customURL ='tasks.php';}
else if(optionChosen == "guidance") { customURL ='guidance.php';}
else if(optionChosen == "feedback") { customURL ='feedback.php';}
else { customURL ='progress.php';}
使用此选项可避免用户在浏览器中单击返回时重定向

使用此按钮进行重定向,返回按钮调用将再次触发重定向

然后根据您的要求使用以下任何一种方法。 为完整起见,基本上是window.location.href的别名


首先确保选择了其中任何一个选项,或者像这样编写代码

if(optionChosen == "overview") { customURL ='overview.php'; }
else if(optionChosen == "tasks")    { customURL ='tasks.php';}
else if(optionChosen == "guidance") { customURL ='guidance.php';}
else if(optionChosen == "feedback") { customURL ='feedback.php';}
else { customURL ='progress.php';}
使用此选项可避免用户在浏览器中单击返回时重定向

使用此按钮进行重定向,返回按钮调用将再次触发重定向

然后根据您的要求使用以下任何一种方法。 为完整起见,基本上是window.location.href的别名


do window.location.href=自定义URL

do window.location.href=customURL

谢谢大家-最终找到了一种适合我的新方法-使用 document.input.action=customURL; 并返回到输入表单。
所以我会坚持这一点。感谢您的建议和帮助。

谢谢大家-最终找到了一种适合我的新方法-使用 document.input.action=customURL; 并返回到输入表单。
所以我会坚持这一点。感谢您的建议和帮助。

尝试一下,您必须使用window.opencustomURL,“u blank”;而不是document.location=customURL;window.location.href=customURL应该可以工作。如果不是的话,打开浏览器控制台,看看是否有任何东西被打印出来,而不是《谢谢你们》的复制品——但是运气不好。window.open至少会打开新页面,但在我不想要的新选项卡中,它必须位于现有选项卡中。window.location和window.location.href似乎只是重新加载同一选项卡中的现有页面。尝试此操作您必须使用window.opencustomURL,“u blank”;而不是document.location=customURL;window.location.href=customURL应该可以工作。如果不是的话,打开浏览器控制台,看看是否有任何东西被打印出来,而不是《谢谢你们》的复制品——但是运气不好。window.open至少会打开新页面,但在我不想要的新选项卡中,它必须位于现有选项卡中。window.location和window.location.href似乎只是重新加载同一选项卡中的现有页面。@nl-x仅一条注释就可以sufficed@nl-是的,这也证明了问题的严重性。一个简单的谷歌搜索会给他正确的语法。谢谢,我知道语法。。window.location/window.location.href/window.location.replace/document.location/all在选项卡中重新加载同一页面。window.open打开新页面,但在新选项卡中。我不明白为什么会这样。@nl-x一条评论就可以了sufficed@nl-是的,这也证明了问题的严重性。一个简单的谷歌搜索会给他正确的语法。谢谢,我知道语法。。window.location/window.location.href/window.location.replace/document.location/all在选项卡中重新加载同一页面。window.open打开新页面,但在新选项卡中。我不知道为什么会出现这种情况。谢谢,阿杰,我会修改它,尽管这不是问题所在,因为我已经检查了customURL变量中是否放置了正确的URL。只需要找到一种在同一个选项卡中显示新页面的方法-没有运气,尚未删除提出的建议,谢谢AaJey,我将对此进行修改,尽管这不是问题所在,因为我已经检查了customURL变量中是否放置了正确的URL。只需要找到一种在同一选项卡中显示新页面的方法-还没有找到提出建议的方法,
window.location.href = "http://somewhereelse.com";
window.location = "http://somewhereelse.com";