Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.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_Html_Onload - Fatal编程技术网

在页面打开时运行Javascript

在页面打开时运行Javascript,javascript,html,onload,Javascript,Html,Onload,我有一个小问题,我想在页面打开后立即运行javascript,但它不适合我。在许多论坛和教程中,我尝试过,他们建议在我的案例中使用onload函数: <body onload="loadPage()"> 所以我的脚本名为loadPage,但它不起作用。。。与其打开其中一个页面(if,else-if语句中的链接),不如只打开一个空白页面。非常感谢任何帮助 <%@ include file="header.jsp" %> <%@ page import="j

我有一个小问题,我想在页面打开后立即运行javascript,但它不适合我。在许多论坛和教程中,我尝试过,他们建议在我的案例中使用onload函数:

<body onload="loadPage()">  

所以我的脚本名为loadPage,但它不起作用。。。与其打开其中一个页面(if,else-if语句中的链接),不如只打开一个空白页面。非常感谢任何帮助

<%@ include file="header.jsp" %> 
<%@ page import="java.sql.*" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<%@ page import="java.util.ArrayList" language="java" %>
<%@ page import="java.text.MessageFormat" language="java" %>
<%@ page import="java.util.List" language="java" %>
<%@ page import="java.util.ArrayList" %>

<%
    String place = request.getParameter("place");
%>
<html>
<head>
<script type="text/javascript">
function loadPage() 
{
    if( <%=place%> == "birr")
    {
       window.open("http://localhost:82/IrishClimateData/Birr.jsp");
    }

    ...more else if statemens here...   

    else if( <%=place%> == "Shannonairport")
    {
       window.open("http://localhost:82/IrishClimateData/Shannon airport.jsp");
    }
}
</script>
</head>
<body onload="loadPage()">  
</body>
</html>

函数loadPage()
{
如果(=“比尔”)
{
窗口打开(“http://localhost:82/IrishClimateData/Birr.jsp");
}
…如果这里有州议员的话。。。
如果(=“Shannonairport”)
{
窗口打开(“http://localhost:82/IrishClimateData/Shannon 机场(airport.jsp),;
}
}
我使用了不同的选项,并做了以下操作:

var placeName = "<%=place%>";
if( placeName == "birr")
var placeName=“”;
如果(地名==“比尔”)

我还要补充一点;在函数的末尾。我原以为ApacheTomcat会像往常一样将它指向我,但它没有。。。无论如何,谢谢大家

删除服务器端代码并简化loadPage功能后,它看起来会正常运行。下面是一个活生生的例子:

实时示例代码:

<html>
<head>
<script type="text/javascript">
function loadPage() {
  // code to replicate server side capture of GET parameter
  var place = /place=(.*?)(?:$|&)/.exec(document.location.search);
  if( place.length >1 ) { place = place[1]; }


  if( place == "birr") {
    window.open("http://localhost:82/IrishClimateData/Birr.jsp");
  } else if( place == "Shannonairport") {
    window.open("http://localhost:82/IrishClimateData/Shannon airport.jsp");
  } else {
    alert('place param of "'+place+'" doesn\'t match');
  }
}
</script>
</head>
<body onload="loadPage()">  
</body>
</html>

函数loadPage(){
//复制GET参数的服务器端捕获的代码
var place=/place=(.*?(:$|&)/.exec(document.location.search);
如果(place.length>1){place=place[1];}
如果(地点=“比尔”){
窗口打开(“http://localhost:82/IrishClimateData/Birr.jsp");
}其他条件(地点=“Shannonairport”){
窗口打开(“http://localhost:82/IrishClimateData/Shannon 机场(airport.jsp),;
}否则{
警报(“'+place+'”的place参数不匹配);
}
}

由于所有这些都有效,并且您在代码中没有看到任何错误,因此我将检查html输出,以确保您的服务器端代码输出您所期望的内容。您可以取出所有服务器端代码,然后开始重新添加代码片段,看看是什么破坏了它。

“不起作用”永远都不是一个足够的问题描述。请显示呈现的HTML(没有服务器端内容)控制台会说什么?检查所有if…else语句。也许有一个失踪的{或}。尝试使用switch@LeeTaylor你是说浏览器的源代码?我怎么把它卖给你?很抱歉,我是新来的……感谢您的回复,我使用了不同的选项并执行了以下操作:var placeName=“”;在我的if-else语句中:if(placeName==“belmullet”),我还必须添加;在函数的末尾。我以为ApacheTomcat会像往常一样把它指向我。。。无论如何谢谢你!