Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

How to create a popup login panel that closes and refreshes the referring page when login is successful

Posted on 2003-10-31
6
Medium Priority
?
597 Views
Last Modified: 2013-12-24
I want to create a popup login panel using ColdFusion and Javascript and have the popup window closed and the referring page refreshed when the login is successful.

I can already do this if the referring window is a named window so that I can simply use a url target with the same name to get back to the referring page. However this requires that the referring page has already been opened using a named url target. I want to be able to refresh the referring window without it being previously named.

Is there some javascript that will run when the login validation is done and refresh the referring page and then close the login popup panel?

Chris Gaelic
0
Comment
Question by:ChrisGaelic
6 Comments
 
LVL 17

Accepted Solution

by:
anandkp earned 750 total points
ID: 9656917
<!--- base.cfm --->
<A HREF="javascript:;" TITLE="Search Category" ONCLICK="window.open('Login.cfm','login','scrollbars=no,resizable=no,maximize=no,width=350,height=120,top=225,left=420')">Login</A>Login.cfm


show the user teh login form & on submit - send the data back to the same page [login.cfm]
using CFquery validate teh user againts teh DB like :

<!--- Login.cfm --->
<FORM NAME="frm" ACTION="login.cfm" METHOD="post">
      <INPUT TYPE="Text" NAME="user">
      <INPUT TYPE="Password" NAME="pwd">
      <INPUT TYPE="Submit">
</FORM>

<CFIF IsDefined('user')>
      <CFQUERY NAME="Qry_ValUser" DATASOURCE="Dsn">
            select userid from user where username = '#user#'
      </CFQUERY>
      <CFIF Qry_ValUser.recordcount gt 0><!--- user exists --->
            <SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript"><!--
                  window.opener.location.replace('loginsuccess.cfm');<!--- new page u want to redirect to --->
                window.close;
                //-->
            </SCRIPT>
      <CFELSE>
            invalid user - enter again.
      </CFIF>
</CFIF>

let me know

K'Rgds
Anand
0
 
LVL 4

Expert Comment

by:procept
ID: 9656942
Hi,

you can access the opening window by using he self.opener property:

<cfif loginIsSuccessFull>
   <script language="JavaScript">
      self.opener.location href='whateverpage.cfm'; // refresh opener window
      self.close(); // close this window
   </cfscript>
</cfif>

HTH,

Chris
0
 

Author Comment

by:ChrisGaelic
ID: 9660148
Thanks Anand, it worked a treat - the only thing you forgot was to add the brackets on the window.close - should be window.close().

Chris, thanks for your input - I tried it, but couldn't get it to work.

0
Ask an Anonymous Question!

Don't feel intimidated by what you don't know. Ask your question anonymously. It's easy! Learn more and upgrade.

 
LVL 17

Expert Comment

by:anandkp
ID: 9662011
Well its more important for me to pass teh logic & the idea ... mistype can happen anytime :)

thanx for teh "B"

Cheers
Anand
0
 
LVL 17

Expert Comment

by:anandkp
ID: 9662013
Well its more important for me to pass teh logic & the idea ... mistype can happen anytime :)

thanx for teh "B"

Cheers
Anand
0
 
LVL 1

Expert Comment

by:hefterr
ID: 35945949
anandkp:
I know it's been awhile but i found this post and I am doing the same thing.

Q:  does it matter where in the page the script is located physically in the popup login window?

In your case (on a successful login) the Browser will be returned (see code snipit).  The script would be in line in the BODY after the FORM.  I'm not a JS guru so is this OK DOM wise?

hefterr




<html> 
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Login Popup</title>
</head>
 
<body>
<FORM NAME="frm" ACTION="login.cfm" METHOD="post">
      <INPUT TYPE="Text" NAME="user">
      <INPUT TYPE="Password" NAME="pwd">
      <INPUT TYPE="Submit">
</FORM>

<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript"><!--
                  window.opener.location.replace('loginsuccess.cfm');<!--- new page u want to redirect to --->
                window.close();
                //-->
            </SCRIPT>


</body>
</html>

Open in new window

0

Featured Post

New feature and membership benefit!

New feature! Upgrade and increase expert visibility of your issues with Priority Questions.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

One of the typical problems I have experienced is when you have to move a web server from one hosting site to another. You normally prepare all on the new host, transfer the site, change DNS and cross your fingers hoping all will be ok on new server…
Lease-to-own eliminates the expenditure of hardware replacement and allows you to pay off the server over time. Usually, this is much cheaper than leasing servers. Think of lease-to-own as credit without interest.
Are you ready to place your question in front of subject-matter experts for more timely responses? With the release of Priority Question, Premium Members, Team Accounts and Qualified Experts can now identify the emergent level of their issue, signal…
Please read the paragraph below before following the instructions in the video — there are important caveats in the paragraph that I did not mention in the video. If your PaperPort 12 or PaperPort 14 is failing to start, or crashing, or hanging, …
Suggested Courses

824 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question