[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 454
  • Last Modified:

A href with OnClick

Experts,

I have a link on my website like following and when I click on the link and user confirms to logout and based on my function it should logoff from
the current website and open up the new website window (which is working fine when user says yes).

The problem is, when user cancels from the alert box as per the code below, it is still opening up the new website which I don't want.
Is there anyway I can stop going/directing the user to new website when user cancels?

<a href="http://www.abcd.com/" title="Access abcd website" target="_blank" onClick="myFunction()">Click Here to go to ABCD Website</a>


function myFunction()
	{
	  if (confirm("Are you sure you want to logoff and go to ABCD website?") == true)
			{
				location.href = '/logoffpage.cfm?goto=loginpage';
			}
			else
			{			
				return;
			}
	}

Open in new window


Thanks in advance
Appreciate your help as this is little time sensitive.
0
Tpaul_10
Asked:
Tpaul_10
2 Solutions
 
TechArtisanCommented:
This is a pretty easy fix I believe by removing the == true, since confirm already implies the okay button is chosen.  Try this:

function myFunction()
      {
        if (confirm("Are you sure you want to logoff and go to ABCD website?") )
                  {
                        location.href = '/logoffpage.cfm?goto=loginpage';
                  }
                  else
                  {                  
                        return;
                  }
      }
0
 
dimmergeekCommented:
or change your href to href="#"
0
 
Tpaul_10Author Commented:
Thanks for the quick response, appreciate it.

1. TechArtisan : Didn't work and still opens up the new website window.
2. dimmergeek : Didn't work either and with the # it is going to the current website when I cancels it.

if the user says yes, I need to direct the user to go to the new website and logoff from the current website (this is working fine with the current code)

and if the user says no/cancels nothing should happen. (it doesn't logoff from the current website but still going to the new website based on the current code)

Thanks
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
GaryCommented:
<a href="http://www.abcd.com/" title="Access abcd website" target="_blank" onClick="return myFunction()">Click Here to go to ABCD Website</a>

Open in new window


function myFunction()
      {
        if (confirm("Are you sure you want to logoff and go to ABCD website?"))
                  {
                        location.href = '/logoffpage.cfm?goto=loginpage';
                  }
                  else
                  {                  
                        return false;
                  }
      }

Open in new window

0
 
dimmergeekCommented:
Use the # in the link and remove your else clause
0
 
TechArtisanCommented:
Yeah I noticed it didn't work after I posted it.  Try this instead.

I removed the link here as well as the _blank target:
<a href="#" title="Access abcd website" onClick="myFunction()">Click Here to go to ABCD Website</a>


function myFunction()
      {
        if (confirm("Are you sure you want to logoff and go to ABCD website?"))
                  {
                        location.href = '/logoffpage.cfm?goto=loginpage';
                        window.open('http://www.abcd.com/', '_blank');
                  }
                  else
                  {                  
                        return;
                  }
      }
0
 
TechArtisanCommented:
GaryC123's suggestion works as well as my last one.  Either one does what your looking for.
0
 
Chris StanyonCommented:
Your code is a little confusing. When the user clicks on the LogOff link, and says Yes in the alert, do you want them to got to logoffpage.cfm or abcd.com?

In order to stop the link being followed if the user clicks on No, then your onClick() needs to return false. Your onClick needs to be like this:

onClick="return myFunction()"

And your function needs to be this:

function myFunction() {
    if (confirm("Are you sure you want to logoff and go to ABCD website?")) {
        location.href = '/logoffpage.cfm?goto=loginpage';
    } else {
        return false;
    }
}

Open in new window

0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now