Tribune

Home » Liferay Portal » English » 3. Development

Vista Combinata Vista Piatta Vista ad Albero
Discussioni [ Precedente | Successivo ]
toggle
Jay Trivedi
Problem with popup rendering
31 dicembre 2012 1.30
Risposta

Jay Trivedi

Punteggio: Regular Member

Messaggi: 107

Data di Iscrizione: 23 novembre 2012

Messaggi recenti

Hello Firends,
I have created a popup for change password and it open fine in pop-up but when i click on save button it automatically renders and shows the page from where the pop-up was called. I want to remain on same page of pop-up.
I have 2 jsp files
file1 : from where pop-up gets opened
file-2 : That gets open in pop-up.


File 1 :code :
 1
 2
 3<portlet:renderURL var="somePageURL" windowState="<%= LiferayWindowState.POP_UP.toString() %>">
 4    [color=#810e0e]<portlet:param name="jspPage" value="/html/receive/changePWD.jsp"/>[/color]
 5    <%-- <portlet:param name="redirect" value="<%= themeDisplay.getURLCurrent()%>"/> --%>
 6</portlet:renderURL>
 7
 8
 9
10
11<script type="text/javascript">
12    function showPopUp()
13    {
14        showSiteManagement();
15    }
16</script>
17
18
19
20<aui:script>
21    Liferay.provide(
22        window,
23        'showSiteManagement',
24        function() {
25            var instance = this;
26
27            var url='<%= somePageURL %>';
28
29                Liferay.Util.openWindow(
30                    {
31                        cache: false,
32                        dialog: {
33                            align: Liferay.Util.Window.ALIGN_CENTER,
34                            after: {
35                                render: function(event) {
36                                    this.set('y', this.get('y') + 50);
37                                }
38                            },
39                            width: 820
40                        },
41                        dialogIframe: {
42                            id: 'siteManagementIframe',
43                            uri: url
44                        },
45                        title: 'Change Password',
46                        uri: url   
47                    }
48                );
49        },
50        ['liferay-util-window']
51    );
52</aui:script>
53This is the <b>Receive</b> portlet in View mode.
54<br/>
55[color=#810e0e] <a href="javascript:showPopUp();">click</a>
56<input type="button" value="POPUP" onClick="showPopUp();"/>[/color]


As you can see in the code .. Pop-Up gets opened either by clicking on Button or Hyper-Link.

File 2: (This file opens in pop-up)

  1
  2<%
  3    Boolean sing = themeDisplay.isSignedIn();
  4    //out.print("singinis  "+sing);
  5   
  6    if(sing)
  7    {
  8%>
  9
 10<portlet:actionURL var="check" name="joinCommunity">
 11     <portlet:param name="JSPpage" value="/html/receive/changePWD"></portlet:param>
 12 </portlet:actionURL>
 13
 14
 15<liferay-ui:error key="resetpass"
 16
 17    message="Your Current Password is not matching.">
 18
 19</liferay-ui:error>
 20
 21<liferay-ui:success key="resetpass1"
 22    message="Your password has been changed successfully.">
 23</liferay-ui:success> 
 24
 25
 26<aui:form action="<%=check%>" method="post" name="fm" id="fm" onSubmit="javaScript:asd();">
 27   
 28<aui:input  label="current-password" name="password0" size="30" type="password" />
 29
 30    <aui:input name="userid" type="hidden" value="<%=user.getUserId()%>"></aui:input>
 31    <aui:input name="Userpass" type="hidden" value="<%=user.getPassword()%>"></aui:input>
 32    <aui:input  label="new-password" id = "reseid" name="password1" size="30" type="password" />
 33   
 34    <aui:input label="New Password Again"  id="resete" name="password2" size="30" type="password"/>
 35    <div id="askmess" class="msge_ask"></div>    
 36
 37     <br>
 38    
 39     <aui:button type="submit" value="Save"></aui:button>
 40      <aui:button name="Cancel" value="Cancel" onClick="showPopup()"/>
 41
 42 </aui:form>
 43<%
 44
 45    }
 46    else
 47    {
 48%>
 49
 50<%-- Please Sign In!
 51<aui:a href="/biz_signin">Sign In</aui:a> --%>
 52               
 53<%
 54    }
 55%>
 56
 57<script type="text/javascript">
 58function showPopup()
 59{
 60
 61    top.document.getElementById("closethick").click();
 62}
 63
 64
 65</script>
 66<script type="text/javascript">
 67
 68$(document).ready(function()
 69{
 70
 71 
 72    
 73    $("#<portlet:namespace />resete").blur(function()
 74            
 75            {
 76                     
 77
 78            
 79                var secondv=$("#<portlet:namespace />reseid").val();
 80   
 81                var fisvalu=$("#<portlet:namespace />resete").val();
 82
 83   
 84            $("#emailidL_ask").remove();
 85                      
 86            var msg=$(document.createElement('label')).attr("id", 'emailidL_ask'); 
 87                  
 88                       if(secondv != fisvalu)
 89                         {
 90                         $("#emailidL_ask").remove();
 91                         msg.html('Enter same password');
 92                         msg.appendTo("#askmess");
 93                         }
 94                  
 95                                                       
 96              });
 97   
 98   
 99     $("#<portlet:namespace />fm").submit(function asd()
100         {
101
102         
103         var secondv=$("#<portlet:namespace />reseid").val();
104       
105        var fisvalu=$("#<portlet:namespace />resete").val();
106
107   
108            $("#emailidL_ask").remove();
109                      
110            var msg=$(document.createElement('label')).attr("id", 'emailidL_ask'); 
111                  
112                       if(secondv != fisvalu)
113                         {
114                         $("#emailidL_ask").remove();
115                         msg.html('Enter same password');
116                         msg.appendTo("#askmess");
117                         return false;
118                         }
119            
120                         return true;
121    
122
123                                    
124        });
125                                    
126                     
127});
128</script>
129
130<style type="text/css">
131.msge_ask
132{
133    color: red;
134    font-style: oblique;
135    text-align:left;
136    padding-left: 25%;
137    float:none;
138    display:block;
139}
140</style>


I need to perform validations on this file and if any error occurs then it shoud render and display me the same file that is File-2.. but it shows me file-1 ... Note file is a JSP page..

Any Hints/Suggestions/Examples.. This is second time i am facing this problem. Last time i removed pop up from my code due to this problem. Its better i fight it this time.

Thanks Jay.
Jay Trivedi
RE: Problem with popup rendering
5 gennaio 2013 3.07
Risposta

Jay Trivedi

Punteggio: Regular Member

Messaggi: 107

Data di Iscrizione: 23 novembre 2012

Messaggi recenti

Hey Guys,
Just put this line to get rid of pop-up render problem.
Changes in Jsp
Rather then <Portlet:renderUrl>--</Portlet:renderUrl> use
 1
 2
 3long pliyd = PortalUtil.getPlidFromPortletId (themeDisplay.getScopeGroupId(),"pass_WAR_IPCDemoportlet"); // get the war file id from Portlet-Table put it here
 4out.println("Scope ==>"+themeDisplay.getScopeGroupId());
 5
 6 LiferayPortletURL redirectURL = PortletURLFactoryUtil.create (request, "pass_WAR_IPCDemoportlet",
 7         pliyd,PortletRequest.RENDER_PHASE);
 8
 9redirectURL.setWindowState(LiferayWindowState.POP_UP);


and in action File Add
1
2response.setRenderParameter("//==>JspPath>");

put this line in action file.
after Action it will take you to page where you really wanted to be..

Njoy emoticon

Participate in the State of Liferay Community 2017. Help the community and even win some prizes!