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