Solved

Fire exit pop UNLESS a specific button is clicked

Posted on 2011-09-14
3
356 Views
Last Modified: 2012-05-12
I am working on a promotion, where I want to capture someone who is leaving a specific page without adding an item to their cart.

Thus, if they leave that page by clicking the add to cart button, don't fire the exit pop (which offers them a coupon or a discount).

If, however, they exit the page by any other means, I want to have an exit pop that offers them the discount.

I have the exit pop working, but unfortunately, it fires even if they are clicking the add to cart button. So it always offers them the discount.

How do I alter this code so it DOES NOT fire when the visitor clicks on the add to cart button?
 
<script type="text/javascript">
		function PopIt() { 
			$("a#trigger").trigger('click');
			window.onbeforeunload = UnPopIt;
			return "Wait! Don't leave. Click "Say on this page" or "Cancel" and you'll recieve a 50% discount!"; 
		}
		
		function UnPopIt()  { /* nothing to return */ } 

		$(document).ready(function() {
			window.onbeforeunload = PopIt;

			$("a#trigger").fancybox({
				'hideOnContentClick': false,
				'showCloseButton': false
			});

			$("a[id!=trigger]").click(function(){ window.onbeforeunload = UnPopIt; });
		});
	</script>

Open in new window

(FYI... the add to cart button is a form. It uses Authorize.net's simple checkout:

 
<form name="PrePage" method = "post" action = "https://Simplecheckout.authorize.net/payment/CatalogPayment.aspx"> <input type = "hidden" name = "LinkId" value ="767512c3-540d-48e9-8197-xxxxxxxxxxxxxxxx" /> <input type = "image" src ="/images/addtocart-style2.png" /> </form>

Open in new window

0
Comment
Question by:DrDamnit
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 82

Expert Comment

by:leakim971
ID: 36540162
var displayIt = true;
function PopIt() {
if( displayIt ) {
                  return "Wait! Don't leave. Click "Say on this page" or "Cancel" and you'll recieve a 50% discount!";
}

            }


did not see clearly your onclick event for your addcart button/link but just set inside : displayIt = false;
0
 
LVL 32

Author Comment

by:DrDamnit
ID: 36552799
That's because there is no onclick function. It is just a form with submit as shown in the sample code below the sample code.

Would an onclick event help?
0
 
LVL 82

Accepted Solution

by:
leakim971 earned 500 total points
ID: 36552825
not really, add :

<input type = "image" src ="/images/addtocart-style2.png" onclick="displayIt = false;" />
0

Featured Post

Technology Partners: 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!

Question has a verified solution.

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

Introduction Knockoutjs (Knockout) is a JavaScript framework (Model View ViewModel or MVVM framework).   The main ideology behind Knockout is to control from JavaScript how a page looks whilst creating an engaging user experience in the least …
How to build a simple, quick and effective accordion menu using just 15 lines of jQuery and 2 css classes
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

733 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