1

I want to call JavaScript function on index.jsp from file.jsp here is my code after getting the value in index.jsp script function then I want to call servlet from inside those function

this is my index.jsp

<%@page import="org.apache.catalina.connector.Request"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jstl/sql" %>
<%@ taglib prefix="x" uri="http://java.sun.com/jstl/xml" %>
<html>
    <head>
     <script type="text/javascript">
           function popuponclick()
           {
              var mywindow=window.open("file.jsp", "file","status=1,width=350,height=150");
           }
           function onLoadById(long id)
           {
              after getting value call the servlet GetEmployeeServlet passing id as a parameter
           }
           function onLoadByname(String name)
           {
              after getting value call the servlet GetEmployeeServlet passing name as a parameter
           }    
     </script>
    </head>
    <body>

    <form name="form1">

    <%String name11=request.getParameter("name"); 
    out.println(name11);%>
        <% if(name11!=null){
            out.println(name11);
            session.setAttribute("EmployeeById","1");}
        %>
    <table>
    <tr>
    <td><input type="submit"  onclick="popuponclick()" value="GetEmployeeById" name="name"/>
    <input type="hidden" name="GetEmp" value="1"></td>
    </tr>

    <tr>
    <td><input type="submit"  onclick="popuponclick()" value="GetEmployeeByname" name="name1"></td>
    </tr>
     </table>
     </form>
    </body>
    </html>

and this is my file .jsp

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt"%>
<%@ taglib prefix="sql" uri="http://java.sun.com/jstl/sql"%>
<%@ taglib prefix="x" uri="http://java.sun.com/jstl/xml"%>
<%@page
    import="com.nousinfo.tutorial.employee.service.model.bo.EmployeeBO"%>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>

<script>
function myfuntion()
{
    var d=document.getElementById('first');
    var c=document.getElementById('second');
    alert(window.parent);
    window.close();
    }
</script>
</head>

<bod>

<% if (session.getAttribute("EmployeeById")!=null) {
    session.removeAttribute("EmployeeById");
%>
<div>
<table>
<tr>
<td>GetEmployeeByName</td>
</tr>
<tr>
<td><input id="first" type="text" name="GetEmployeeByName"/></td></tr>
</table>
</div>
<% } else { %>
<div>
<table>
<tr>
<td>GetEmployeeById</td>
</tr>
<tr>
<td><input id="second" type="text" name="GetEmployeeById"/></td></tr>
</table>
</div>
<% } %>
<table>
<tr>
<td><input id="submit"  type="submit" name="submit" value="find" onclick="myfuntion()"></td>
</tr>
</table>

</body>
</html>

1 Answer 1

1

Perform the steps below:

  1. Move the script in index.jsp file to a new JavaScript file e.g. index.js file and place the file in new folder e.g. js inside your WebContent folder.

  2. Link index.js in index.jsp file by putting below link in the <head> section:

    <script language="JavaScript" src="<%=request.getContextPath()%>/js/index.js">
    
  3. Do the same in file.jsp file.

This way, same javascript code will be available for use in both index.jsp and file.jsp files.

Sign up to request clarification or add additional context in comments.

2 Comments

can you tell me the way to get index.jsp(parent window) object in child window(file.jsp) using java svript
@ankurjadiya You can always use window.parent.document.getElementById(elementId) or similar functions to refer parent DOM elements in child window. The key here is to use window.parent to refer the parent.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.