Link to home
Start Free TrialLog in
Avatar of samk4
samk4

asked on

Struts PopUp

Hi ,
I am working in struts , I have a parent window  which has a popup. when i click on Add button the PopUp window should open and it has some id and lables need to be populated. when i click on 'select' button in popup window it has to close and those values should tranfered to the parent window.
  if i enter any values in parent window  they shud be retained.

Thanks in adv
ASKER CERTIFIED SOLUTION
Avatar of drazen_nikolic
drazen_nikolic
Flag of Serbia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of samk4
samk4

ASKER

hi , thx for ur solution.but i have the problem when i close the popup.....its submitting twice to the parent window.
pls find thhe code below for my action and parent and popup jsps.
thankyou

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
<html:html>
<HEAD>
<TITLE>popup jsp</TITLE>
<LINK TYPE="text/css" HREF="docs/vz_global.css" REL="stylesheet">
<LINK TYPE="text/css" HREF="docs/ws_global.css" REL="stylesheet">
<LINK TYPE="text/css" HREF="docs/vz_ptf_global.css" REL="stylesheet">
<!--TODO-->
<script language ="javascript">
	function filterSearchAccCorpId()
	{
	var accnum = document.forms[0].accountNumber.value;
	var corpid = document.forms[0].corpIDSRP1.value;
	document.forms[0].action="<%=request.getContextPath()%>/defaults.do?method=filterSearchAccCorp&accNum="+accnum+"&corpId="+corpid;
	document.forms[0].submit();
	return;
	}
	function closeThisPopUp()
    	{
        opener.location.href ="<%=request.getContextPath()%>/defaults.do?method=defaultsAdvanceWithOutRefresh";
        self.close();
        return;
      	}
	function addToList()
	{    
	var corpId = document.forms[0].srp.value;
	var lable = document.forms[0].custLabel.value;
	document.forms[0].action="<%=request.getContextPath()%>/defaults.do?method=addToListToAdvance&corpId="+corpId+"&lable="+lable;
	document.forms[0].submit();
	return;
	}
	function onChangeCorpIDSRP()
 	{
 	
    var corpAndLable = document.forms[0].corpIDSRP.value;
    myString = new String(corpAndLable); 
	var temp = new Array();
	temp = myString.split(' ');
  	corpId = temp[0];
   	lable = temp[1];
   	if(corpId != 'Select') {
	    document.forms[0].srp.value = corpId;
	  	document.forms[0].custLabel.value = lable;
  	}
   	}
</script>
</HEAD>
<BODY>
<html:form action="/defaults.do"  method="post">
<input type="hidden" name="method" value=""/>
<TABLE border="0" cellpadding="0" cellspacing="0" width="750">
<tr id="ptf_tableheadbox" class="dkBlGr"><td valign="middle" class ="tableHead" >
<div id="ptf_floatRight"></div>SWOM TollFree SRP Search</td>
<td></td><td></td><td></td><td></td>
</table>
<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0" WIDTH="750" HEIGHT="417" layer-background-color:#ffffff;  >
<TR class="formProperty"> 
		<TD height="417" align="center" VALIGN="center"> 
                <table class="bodyCopyBold" border="0" cellpadding="0" cellspacing="0" width="690" background="#ffffff">
                <tr><td width="108">
		<p>&nbsp;</p></td></tr>
		<tr>
		<td height="85" rowspan="4" align="right" nowrap>
                <bean:message key="label.srpcorpid"/>:&nbsp;</td>
		<td width="114" rowspan="4" align="left">
                
                <html:select name="DefaultsActionForm" property="corpIDSRP" size="5" onchange="onChangeCorpIDSRP()"> 
                       <html:option value="Select">Select CORPID-SRP</html:option>
                       <html:optionsCollection property="alCorpIDSRPBean" label="label" value="value" name="DefaultsActionForm"/>
                   </html:select>
                </td>
		<td width="99" align="right" nowrap>
                <bean:message key="label.accountnumber"/></td>
                <td width="228" align="right" nowrap><div align="left"><span class="txtFld">
                 <html:select name="DefaultsActionForm" property="accountNumber" size="1">
                       <html:option value="ALL">ALL</html:option>
                       <html:optionsCollection property="alAccountNumberBean" label="label" value="value" name="DefaultsActionForm"/>
                 </html:select>
                
        </span>&nbsp;</div></td>
        <td colspan="2" align="right" nowrap>&nbsp;
          <div align="right"></div></td>
		<td width="20" align="left" class="txtFld">&nbsp;</td>
		<td width="1" rowspan="4"></td>
            <td width="6" rowspan="4"></td>
		</tr>
		<tr>
		  <td height="24" align="right" nowrap>
                  <bean:message key="label.crpid"/>:</td>
		  <td width="228" align="right" nowrap>
                      <div align="left"><span class="txtFld">
                   		<html:select property="corpIDSRP1">
                        <html:option value="ALL">ALL</html:option>
                	    <html:optionsCollection property="alCorpIDSRPBean1" label="label" value="value" name="DefaultsActionForm"/>   
                        </html:select>
          </span></div></td>
		  <td colspan="2" rowspan="2" align="right" nowrap>&nbsp;</td>
		  <td width="20" rowspan="2" align="left" class="txtFld">&nbsp;</td>
			</tr>
			<tr>
		  <td height="24" align="right" nowrap><span class="txtFld">
                  <bean:message key="label.tollfreenumber"/>:</span></td>
		  <td width="228" align="right" nowrap><div align="left"><span class="txtFld">
                 <html:text  property="tollFreeNumber"  value="" maxlength="11"/>
                 </span></div></td>
		</tr>
		<tr>
		  <td height="21" align="right" nowrap><div align="left"></div></td>
		  <td width="228" align="right" nowrap><div align="left"></div>
		    <div align="left"><span class="ptf_buttonGrey">
                    <a name=add_lata tabIndex=18 href="javascript:filterSearchAccCorpId();">Filter - Search</a></span></div></td>
		  <td colspan="2" align="right" nowrap>&nbsp;</td>
		  <td width="20" align="left" class="txtFld">&nbsp;</td>
		</tr>
		<tr><td>&nbsp;</td></tr>
		<tr>
			<td height="29" align="right" nowrap>&nbsp;&nbsp;</td>
			<td class="txtFld" align="left">&nbsp;</td>
			<td align="right" nowrap>&nbsp;</td>
			<td align="left">&nbsp;</td>
		</tr><tr><td>&nbsp;</td></tr>
			<tr>
			  <td height="29" align="right" nowrap>
                          <bean:message key="label.corpidsrp"/>:&nbsp;&nbsp;</td>
			  <td align="left" class="txtFld">
                              <html:text  property="srp"  value="" size="18" maxlength="" readonly="true"/>
                          </td>
			  <td height="29" align="right" nowrap>
                          <bean:message key="label.custlabel"/>:&nbsp;&nbsp;</td>
			  <td align="left" class="txtFld">
                          <html:text  property="custLabel"  value="" maxlength=""/></td>
                          <td colspan="2"><span class="txtFld">&nbsp;</span></td>
		  </tr><tr>
		<td>&nbsp;</td>
		</tr>
		<tr>
		<td align="right">&nbsp;</td>
		<td valign="top" align="left" rowspan=3>&nbsp;</td>
		<td class="txtFld" colspan="2" align="left" valign="bottom"><div align="right">
                    <span class="ptf_buttonGrey"><a name=add_lata tabindex=18 href="javascript:addToList();">select</a>
                    </span>&nbsp;&nbsp;<span class="ptf_buttonGrey">
                    <a name=add_lata tabindex=18 href="javascript:self.close()" >cancel</a></span>&nbsp;</div>		
		<span class="ptf_buttonGrey">
                <td width="3">&nbsp;</td>
		<td width="111">&nbsp;</td>
		</span>
        </tr>
		<tr>
		<td height="25" align="right">&nbsp;</td>
		<td align="left"  colspan="2"><p>&nbsp;</p>
		  <p>&nbsp;</p></td>
		</tr>
		<tr>
        <td align="right">&nbsp;</td>
		<td align="left"   colspan="6">&nbsp;</td>
		</tr><tr><td>&nbsp;</td></tr>
	</table>
	<table border="0" cellpadding="0" cellspacing="0" width="622" background="">
		<tr align=center>
		<td nowrap align="center" valign="top" colspan="5">&nbsp;</td>
	</table>
	</form>
        </TD></TR>
</TABLE>
  <logic:equal name="DefaultsActionForm" property="closePopup" value="true">
       <script>closeThisPopUp();</script>
 </logic:equal>
</form>
</div>
<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0" WIDTH="750" HEIGHT="16" >
<TR><TD VALIGN="TOP" ALIGN="RIGHT">&nbsp;
</TD></TR></TABLE> </TABLE>
</html:form>
</BODY>
</html:html>
 
---------------------------------------------------------------------------
 
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.util.Date"%>
<html:html>
<HEAD>
<TITLE>PARENT JSP</TITLE>
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=iso-8859-1">
 
<link rel="stylesheet" type="text/css" media="all"
	href="<%=request.getContextPath()%>/docs/calendar-win2k-cold-1.css"
	title="win2k-cold-1" />
 
<link rel="stylesheet" type="text/css" media="all"
	href="<%=request.getContextPath()%>/css/ds.css" />
 
<LINK TYPE="text/css"
	HREF="<%=request.getContextPath()%>/docs/vz_global.css"
	REL="stylesheet">
 
<LINK TYPE="text/css"
	HREF="<%=request.getContextPath()%>/docs/ws_global.css"
	REL="stylesheet">
 
<LINK TYPE="text/css"
	HREF="<%=request.getContextPath()%>/docs/vz_ptf_global.css"
	REL="stylesheet">
 
<SCRIPT LANGUAGE="javascript"
	SRC="<%=request.getContextPath()%>/docs/resize.js"></SCRIPT>
 
<SCRIPT LANGUAGE="javascript"
	SRC="<%=request.getContextPath()%>/docs/functions.js"></SCRIPT>
 
<script type="text/javascript"
	src="<%=request.getContextPath()%>/docs/calendar.js"></script>
 
<script type="text/javascript"
	src="<%=request.getContextPath()%>/docs/calendar-en.js"></script>
 
<script type="text/javascript"
	src="<%=request.getContextPath()%>/docs/calendar-setup.js"></script>
 
<script language="javascript">
 
function showDateTime(date)
{
        var min = new Date();
 
var dd = parseFloat(String(date.getFullYear()) + (String(date.getMonth()).length == 1 ? "0" + String(date.getMonth()) : String(date.getMonth())) + (String(date.getDate()).length == 1 ? "0" + String(date.getDate()) : String(date.getDate())));
var dd1 = parseFloat(String(min.getFullYear()) + (String(min.getMonth()).length == 1 ? "0" + String(min.getMonth()) : String(min.getMonth())) + (String(min.getDate()).length == 1 ? "0" + String(min.getDate()) : String(min.getDate())));
	if (dd < dd1)
                return true; // true says "disable"
        else
                return false; // leave other dates enabled
}
</script>
<script language ="javascript">
    function onSubmit(target){
                         if(target == "tollfree")
                         	{
                         	document.forms[0].method.value="tollfree";
                         	document.forms[0].action="<%=request.getContextPath()%>/tollfreeWithOutValidation.do";
                         	document.forms[0].submit();
                         	}
                         else if(target == "search"){
                         	document.forms[0].method.value="search";
                         	document.forms[0].action="<%=request.getContextPath()%>/search.do";
                         	document.forms[0].submit();
                         }else if(target == "status"){
                         	document.forms[0].method.value="transaction";
                         	document.forms[0].action="<%=request.getContextPath()%>/status.do";
                         }
                         else if(target == "defaults")
                         {
                         	document.forms[0].method.value="defaults";
                         	document.forms[0].action="<%=request.getContextPath()%>/defaults.do";
                         }
                         else if(target == "saveAdvance")
                         {
                         	document.forms[0].method.value="saveAdvance";
                         	document.forms[0].action="<%=request.getContextPath()%>/defaults.do";
                         }
                         else if(target=="searchSrp")
                             {
                             document.forms[0].method.value="searchSrp";
                             document.forms[0].action="<%=request.getContextPath()%>/searchSrpBasic.do";
                             }
                        else if(target=="searchSrpDefaults")    
                             {
                             var url='<%=request.getContextPath()%>/defaults.do?method=searchSrpDefaults';
                             srpSearchPopup=window.open(url ,'Search','width=720 , height=490 , status=1,scrollbars=1,resizable=1');
                             return;
                             }
                            
                         document.forms[0].submit();
                        }
                        
 function onChangeCorpIDSRP()
 {
 	var corpAndLable = document.forms[0].tmp.value;
    myString = new String(corpAndLable); 
	var temp = new Array();
	temp = myString.split('/');
    corpId = temp[0];
    lable = temp[1];
    if((corpId!="Select")||(lable!="undefined"))
    {
    document.forms[0].corpIDSRP.value = corpId;
    document.forms[0].custlabel.value = lable;
    }
   }  
   function deleteFromList()
    {
      var recId = document.forms[0].tmp.value;  
      document.forms[0].action="<%=request.getContextPath()%>/defaults.do?method=deleteFromListAdvance&recordId="+recId;
      document.forms[0].submit();
    }
   function renameLable()
    { 
    var corpId = document.forms[0].corpIDSRP.value;
    var newLable = document.forms[0].custlabel.value;
    document.forms[0].action="<%=request.getContextPath()%>/defaults.do?method=renameLable&corpId="+corpId+"&newLable="+newLable;
    document.forms[0].submit();
    }
   function deleteLable()
    { 
    var corpId = document.forms[0].corpIDSRP.value;
    var newLable = document.forms[0].custlabel.value;
    document.forms[0].action="<%=request.getContextPath()%>/defaults.do?method=deleteCorpId&corpId="+corpId+"&newLable="+newLable;
    document.forms[0].submit();
    }
 </script>
<BODY>
<html:form action="/defaults.do" method="post">
 
<table border="0" cellpadding="0" cellspacing="0" width="750">
<tr id="ptf_tableheadbox" class="dkBlGr"><td valign="middle" class ="tableHead" >
	<div id="ptf_floatRight"></div>
	Toll Free BBS</td>
		<td></td><td></td><td></td><td></td>
		<td width="37"><a href=" " ><strong><font color="black">BBS</font></strong></a></td>
		<td width="76"><a  href =" "><strong><font color="black">Customer</font></strong></a></td>
        <td width="75"><a  href =" "><strong><font color="black">Account</font></strong></a></td>
		<td width="52"><a  href =" "><strong><font color="black">Home</font></strong></a></td>
		<td width="80"><a  href =" "><strong><font color="black">Help</font></strong></a></td>
</table>
<table  class="formTbl">
     <TR class="formProperty">
			<TD id="status" class="taboff">
                        <a href="javascript:onSubmit('status')"  class="tab_normal" TARGET="_self">status</a></TD>
                        <TD id="toll" class="taboff">
                        <a href="javascript:onSubmit('tollfree')" class="tab_normal" TARGET="_self">tollFree Order</a></TD>
			<TD id="search" class="taboff">
                        <a href="javascript:onSubmit('search')"   class="tab_normal" TARGET="_self">search & Reserve</a></TD>
			<TD id="def" class="tabon">
                        <a href="javascript:onSubmit('defaults')" class="tab_normal" TARGET="_self">defaults</a></TD>
</TR>
   </table>
    <TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0" WIDTH="750" HEIGHT="300" layer-background-color:#ffffff;  >
	<TR class="formProperty"> 
		<TD VALIGN="center" align="center"> 
                
                <input type="hidden" name="method" value=""/>
                <html:radio   property="radioType" value="basic" onclick="javascript:onSubmit('defaults')"/>Basic
                <html:radio   property="radioType" value="advance"/>Advance
              	&nbsp;&nbsp;&nbsp;
                <table class="bodyCopyBold" border="0" cellpadding="0" cellspacing="0" width="645" background="#ffffff">
		<tr><td width="151">
		</td>
                </tr>
		<tr>
                  <%Boolean result = (Boolean)session.getAttribute("saved");%>
                <%  if (result!=null && result.booleanValue())
                { %>
                <tr class="formProperty">
                    <td colspan="3" align="center" id="msg"><font color="red">
                        Data successfully saved into database</font></td>
                </tr>
                
                <%}%>  
                <td nowrap align="right">
                    <bean:message key="label.accountnumber"/>&nbsp;&nbsp;</td>
		<td align="left">
                 <html:select name ="DefaultsActionForm" property="accountNumber">
                       <html:option value="Select">Select</html:option>
                       <html:optionsCollection property="alAccountNumberBean" label="label" value="value"/>
                   </html:select>
 
		</td>
						<td align="right" nowrap><bean:message	key="label.effdatetime"/>:&nbsp;&nbsp;</td>
						<td class="txtFld" align="left"><input type="text" 	name="startDate" id='start_date' tabIndex="-1" size="18"
						value="<%= new SimpleDateFormat("dd-MMM-yyyy HH:mm").format(new Date())%>"
						onfocus="this.blur()"><img src="<%=request.getContextPath()%>/images/kal.gif" id="start_date_img" style="cursor: pointer;"
						title="Date selector" onmouseover="this.style.background='red';" onmouseout="this.style.background=''"></td>
						</td>
						</tr>
						<tr>
							<td>&nbsp;</td>
						</tr>
						<tr>
					<td align="right" nowrap><span class="txtFld">
                    <bean:message key="label.resporgid"/>:</span></td>
					<td align="left"><span class="txtFld">
                    <html:text  property="respOrgId" maxlength="5"/>
					</span></td>
                	<td height="38">
                    <div align="right">
                    <bean:message key="label.trackingnumber"/>:</div></td>
		  			<td><span class="txtFld">
		    		<html:text  property="trackingNumber" maxlength="15"/>
		  			</span></td>
                	</tr>
                	<tr>
                	</tr><tr><td>&nbsp;</td></tr>
					<tr>
					<td height="20" align="right" nowrap><span class="txtFld">
                    <bean:message key="label.payphone"/></span>:</td>
      				<td align="left" class="txtFld">
                	<html:select property="payPhoneBlocking">
                    <html:option value="Select">Select</html:option>
                    <html:option value="Yes">Yes</html:option>
                    <html:option value="No">No</html:option>
                	</html:select>
                	</td>  
                	<td align="right" nowrap>
                     <bean:message key="label.listingname"/>:</td>
                     <td class="txtFld" align="left">
                     <html:text  property="listingName" maxlength="75"/>    
                	</td>
			</tr>
			<tr></tr>
            <tr><td>&nbsp;</td></tr>
			<tr>
			<div>
      		<td height="29"  align="right" nowrap>
            <bean:message key="label.contactname"/>:</td>
			<td  align="left"><span class="txtFld">
			<html:text property="contactName" maxlength=""/>
			</span></td>
            <td align="right" nowrap>
            <bean:message key="label.contactphone"/>:</td>
			<td align="left"><span class="txtFld">
            <html:text  property="contactPhone" maxlength="30"/>
            </span></td>
            </div>
			</tr>
        	<tr>
		    <td height="38">
            <div align="right">
            </div></td>
		    <td><span class="txtFld">
		    </span></td>
            <td height="38">&nbsp;</td>
		    <td>&nbsp;</td>
		    </tr>
		    <tr>
		    <td height="45" rowspan="5"><div align="right">
            <bean:message key="label.srpcorpid"/>:</div></td>
            <td rowspan="5">
		    <span class="txtFld">
            <select name="tmp" tabindex="16" size="4" onchange="onChangeCorpIDSRP();">
            <option value="Select">CorpID/CustLabel</option>
            <logic:iterate id="ind" name ="DefaultsActionForm" property="listValuesAdvance" indexId="numb">
            <option value='<bean:write name="ind"/>'><bean:write name="ind"/></option>
            </logic:iterate>  
            </select>
            
            </span></td>
		    <td height="25"><div align="right">
            <bean:message key="label.corpidsrp"/>:</div></td>
		    <td><span class="txtFld">
            <html:text  property="corpIDSRP" maxlength="8" readonly="true"/>
		    </span></td>
		    </tr>
            <tr>
		    <td height="28"><div align="right">
            <bean:message key="label.custlabel"/>:</div></td>
            <td>
            <html:text property="custlabel"  maxlength="10"/>
            </td>
			</tr>
            <tr>
            <td height="15">&nbsp;</td>
            <td>&nbsp;</td>
            </tr>
            <tr>
		    <td height="20"><div align="right"><span class="ptf_buttonGrey">
                <a name="Submit" tabIndex=17  href="javascript:onSubmit('searchSrpDefaults');">add</a></span>&nbsp;&nbsp;<span class="ptf_buttonGrey">
                <a name="Submit" tabIndex=17  href="javascript:deleteLable();">delete</a></span>&nbsp;&nbsp;</div></td>  
		    <td><div align="left">
                <span class="ptf_buttonGrey"><a name="clear_lata_codes" tabindex=19 href="javascript:renameLable();">rename</a></span></div></td>
		    </tr>
                <tr>
		    <td height="18">&nbsp;</td>
		    <td>&nbsp;</td>
		    </tr>
		    <tr>
		    <td height="22">&nbsp;</td>
                <td></td>
                <td height="22">
                <div align="right">
                </div></td>
                <td>&nbsp;</td>
		    </tr>
		    <tr>
		    <td>&nbsp;</td>
		    </tr>
        	<tr>
			<td align="right">&nbsp;</td>
			<td valign="top" align="left" rowspan=3>&nbsp;</td>
			<td class="txtFld" colspan="2" align="left" valign="bottom">&nbsp;</td>
			</tr>
            <tr>
			<td align="right">&nbsp;</td>
			<td align="left"  colspan="2"><span class="ptf_buttonGrey">
            <a name="Submit" tabIndex=17  href="javascript:onSubmit('saveAdvance');">save</a></span>    
            </tr>
			<tr>
			<td align="right">&nbsp;</td>
			<td align="left"   colspan="5">&nbsp;</td>
			</tr><tr><td>&nbsp;</td></tr>
            </table>
            </TABLE>
<script type="text/javascript">
<%
	SimpleDateFormat sf=new SimpleDateFormat("dd-MMM-yyyy HH:mm");
%>
var ddate= Date.parse("<%=sf.format(new Date())%>");
//        inputField : "dtf_eff",      // id of the input field
    Calendar.setup({
        inputField : "start_date",      // id of the input field
        ifFormat       :    "%e-%b-%Y %H:%M",       // format of the input field
        showsTime : true,            // will display a time selector
        button : "start_date_img",   // trigger for the calendar (button ID)
        dateStatusFunc : showDateTime,
        singleClick : false,           // double-click mode
	electric       :    false,
        step : 1,                // show all years in drop-down boxes (instead of every other year as default)
	date : ddate
    });
    </script>
		</html:form>
</body>
</html:html>

Open in new window