Popup
Options
I am attempting to add a popup to my donation pages, as a gentle nudge to stay on the monthly giving page. We do pretty well already, but I wanted to make it that they wanted to stay. I have "programmed" a Popup in Page Builder that works great, but when I put it onto a donation the popup closes as fast as it opens. I was thinking that it might be because there are multiple calls, but I can't see an original set in the page wrapper that might interfere on this modal I'm creating. Any help would be appreciated, this is actually just outside my ability, but I'm attempting to fake it, just okay.
Here is my test page builder that is working: https://secure2.convio.net/nlmed/site/SpageNavigator/NLM_Test_Progress.html
Here is my test donation page that is failing: https://secure2.convio.net/nlmed/site/Donation2?df_id=2543&mfc_pref=T&2543.donation=form1
And for kicks, here is my code:
<p>
<meta name="viewport" content="width=device-width, initial-scale=1" />
</p>
<style type="text/css"><!--
body {font-family: Arial, Helvetica, sans-serif;}
/* The Modal (background) */
.modal {
display: none; /* Hidden by default */
position: fixed; /* Stay in place */
z-index: 1; /* Sit on top */
padding-top: 100px; /* Location of the box */
left: 0;
top: 0;
width: 100%; /* Full width */
height: 100%; /* Full height */
overflow: auto; /* Enable scroll if needed */
background-color: rgb(0,0,0); /* Fallback color */
background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}
/* Modal Content */
.modal-content {
background-color: #fefefe;
margin: auto;
padding: 20px;
border: 1px solid #888;
width: 80%;
}
/* The Close Button */
.close {
color: #aaaaaa;
float: right;
font-size: 28px;
font-weight: bold;
}
.close:hover,
.close:focus {
color: #000;
text-decoration: none;
cursor: pointer;
}
--></style>
<h2>Give Hope a Chance</h2>
<!-- Trigger/Open The Modal -->
<p>
<button id="myBtn">
<p style="text-align: left;"><span style="color: #000000; font-family: century gothic, verdana, arial, helvetica, sans-serif; font-size: 120%;">Make One-Time</span></p>
</button></p>
<!-- The Modal -->
<div id="myModal" class="modal">
<!-- Modal content -->
<div class="modal-content">
<span class="close">×</span>
<p><strong>Before we move on to making a one-time gift, would you consider something?</strong></p>
<p>You can give less today and have a greater impact. Become a friend of New Life Media by converting your gift into an ongoing monthly gift.</p>
<p>By joining the Friends of New Life Media program, you are becoming a part of an exclusive group of people committed to sharing the Gospel of Jesus Christ by defending Faith, HOPE, and Family.</p>
<p>For those that are already a monthly donor, thank you! For everyone else, if you make your gift an ongoing monthly gift, you will offer consistent help to families who need biblical truth most.</p>
<p><strong>Would you like to continue to make your gift an ongoing monthly gift?</strong>
</p>
<p style="text-align: left;"><span style="font-size: 180%;"><span style="color: #97ca4c; font-family: "century gothic", verdana, arial, helvetica, sans-serif;"><a href="Donation2?df_id=2662&mfc_pref=T&2662.donation=form1"><img src="../images/content/pagebuilder/Button-monthly.png" border="0" alt="Monthly Button" width="150" height="50" /></a><span style="white-space: pre;"> <a href="Donation2?df_id=2667&mfc_pref=T&2667.donation=form1"><img src="../images/content/pagebuilder/unButton-onetime.png" border="0" alt="Onetime Unbutton" width="150" height="50" /></a></span></span></span></p>
<p> </p>
</div>
</div>
<script type="text/javascript">// <![CDATA[
// Get the modal
var modal = document.getElementById('myModal');
// Get the button that opens the modal
var btn = document.getElementById("myBtn");
// Get the <span> element that closes the modal
var span = document.getElementsByClassName("close")[0];
// When the user clicks the button, open the modal
btn.onclick = function() {
modal.style.display = "block";
}
// When the user clicks on <span> (x), close the modal
span.onclick = function() {
modal.style.display = "none";
}
// When the user clicks anywhere outside of the modal, close it
window.onclick = function(event) {
if (event.target == modal) {
modal.style.display = "none";
}
}
// ]]></script>
<p style="text-align: left;"><span style="color: #000000; font-family: century gothic, verdana, arial, helvetica, sans-serif; font-size: 120%;">To make a One-Time gift, click the box above</span></p>
<p>
Here is my test page builder that is working: https://secure2.convio.net/nlmed/site/SpageNavigator/NLM_Test_Progress.html
Here is my test donation page that is failing: https://secure2.convio.net/nlmed/site/Donation2?df_id=2543&mfc_pref=T&2543.donation=form1
And for kicks, here is my code:
<p>
<meta name="viewport" content="width=device-width, initial-scale=1" />
</p>
<style type="text/css"><!--
body {font-family: Arial, Helvetica, sans-serif;}
/* The Modal (background) */
.modal {
display: none; /* Hidden by default */
position: fixed; /* Stay in place */
z-index: 1; /* Sit on top */
padding-top: 100px; /* Location of the box */
left: 0;
top: 0;
width: 100%; /* Full width */
height: 100%; /* Full height */
overflow: auto; /* Enable scroll if needed */
background-color: rgb(0,0,0); /* Fallback color */
background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}
/* Modal Content */
.modal-content {
background-color: #fefefe;
margin: auto;
padding: 20px;
border: 1px solid #888;
width: 80%;
}
/* The Close Button */
.close {
color: #aaaaaa;
float: right;
font-size: 28px;
font-weight: bold;
}
.close:hover,
.close:focus {
color: #000;
text-decoration: none;
cursor: pointer;
}
--></style>
<h2>Give Hope a Chance</h2>
<!-- Trigger/Open The Modal -->
<p>
<button id="myBtn">
<p style="text-align: left;"><span style="color: #000000; font-family: century gothic, verdana, arial, helvetica, sans-serif; font-size: 120%;">Make One-Time</span></p>
</button></p>
<!-- The Modal -->
<div id="myModal" class="modal">
<!-- Modal content -->
<div class="modal-content">
<span class="close">×</span>
<p><strong>Before we move on to making a one-time gift, would you consider something?</strong></p>
<p>You can give less today and have a greater impact. Become a friend of New Life Media by converting your gift into an ongoing monthly gift.</p>
<p>By joining the Friends of New Life Media program, you are becoming a part of an exclusive group of people committed to sharing the Gospel of Jesus Christ by defending Faith, HOPE, and Family.</p>
<p>For those that are already a monthly donor, thank you! For everyone else, if you make your gift an ongoing monthly gift, you will offer consistent help to families who need biblical truth most.</p>
<p><strong>Would you like to continue to make your gift an ongoing monthly gift?</strong>
</p>
<p style="text-align: left;"><span style="font-size: 180%;"><span style="color: #97ca4c; font-family: "century gothic", verdana, arial, helvetica, sans-serif;"><a href="Donation2?df_id=2662&mfc_pref=T&2662.donation=form1"><img src="../images/content/pagebuilder/Button-monthly.png" border="0" alt="Monthly Button" width="150" height="50" /></a><span style="white-space: pre;"> <a href="Donation2?df_id=2667&mfc_pref=T&2667.donation=form1"><img src="../images/content/pagebuilder/unButton-onetime.png" border="0" alt="Onetime Unbutton" width="150" height="50" /></a></span></span></span></p>
<p> </p>
</div>
</div>
<script type="text/javascript">// <![CDATA[
// Get the modal
var modal = document.getElementById('myModal');
// Get the button that opens the modal
var btn = document.getElementById("myBtn");
// Get the <span> element that closes the modal
var span = document.getElementsByClassName("close")[0];
// When the user clicks the button, open the modal
btn.onclick = function() {
modal.style.display = "block";
}
// When the user clicks on <span> (x), close the modal
span.onclick = function() {
modal.style.display = "none";
}
// When the user clicks anywhere outside of the modal, close it
window.onclick = function(event) {
if (event.target == modal) {
modal.style.display = "none";
}
}
// ]]></script>
<p style="text-align: left;"><span style="color: #000000; font-family: century gothic, verdana, arial, helvetica, sans-serif; font-size: 120%;">To make a One-Time gift, click the box above</span></p>
<p>
Tagged:
0
Comments
-
Your stand along example link is broken, but the form link works.
I put a couple of breakpoints in your script. (Are you watching the script run in your DevTools debugger?)
// When the user clicks the button, open the modal
btn.onclick = function() {
X modal.style.display = "block";
}
// When the user clicks on <span> (x), close the modal
span.onclick = function() {
modal.style.display = "none";
}
// When the user clicks anywhere outside of the modal, close it
window.onclick = function(event) {
X if (event.target == modal) {
modal.style.display = "none";
}
}
The btn.onclick event runs, and then right after that your window.onclick runs. Makes sense, if you click the button you must be clicking the window.
I would change window.onclick to modal.onclick, so clicks on the background trigger the close.
Otherwise you could try to add event.stopPropagation() to the end of your btn.onclick function.
BPM0
Categories
- All Categories
- Shannon parent
- shannon 2
- shannon 1
- 21 Advocacy DC Users Group
- 14 BBCRM PAG Discussions
- 89 High Education Program Advisory Group (HE PAG)
- 28 Luminate CRM DC Users Group
- 8 DC Luminate CRM Users Group
- Luminate PAG
- 5.9K Blackbaud Altru®
- 58 Blackbaud Award Management™ and Blackbaud Stewardship Management™
- 409 bbcon®
- 2.1K Blackbaud CRM™ and Blackbaud Internet Solutions™
- donorCentrics®
- 1.1K Blackbaud eTapestry®
- 2.8K Blackbaud Financial Edge NXT®
- 1.1K Blackbaud Grantmaking™
- 527 Education Management Solutions for Higher Education
- 1 JustGiving® from Blackbaud®
- 4.6K Education Management Solutions for K-12 Schools
- Blackbaud Luminate Online & Blackbaud TeamRaiser
- 16.4K Blackbaud Raiser's Edge NXT®
- 4.1K SKY Developer
- 547 ResearchPoint™
- 151 Blackbaud Tuition Management™
- 61 everydayhero
- 3 Campaign Ideas
- 58 General Discussion
- 115 Blackbaud ID
- 87 K-12 Blackbaud ID
- 6 Admin Console
- 949 Organizational Best Practices
- 353 The Tap (Just for Fun)
- 235 Blackbaud Community Feedback Forum
- 55 Admissions Event Management EAP
- 18 MobilePay Terminal + BBID Canada EAP
- 36 EAP for New Email Campaigns Experience in Blackbaud Luminate Online®
- 109 EAP for 360 Student Profile in Blackbaud Student Information System
- 41 EAP for Assessment Builder in Blackbaud Learning Management System™
- 9 Technical Preview for SKY API for Blackbaud CRM™ and Blackbaud Altru®
- 55 Community Advisory Group
- 46 Blackbaud Community Ideas
- 26 Blackbaud Community Challenges
- 7 Security Testing Forum
- 3 Blackbaud Staff Discussions
- 1 Blackbaud Partners Discussions
- 1 Blackbaud Giving Search™
- 35 EAP Student Assignment Details and Assignment Center
- 39 EAP Core - Roles and Tasks
- 59 Blackbaud Community All-Stars Discussions
- 20 Blackbaud Raiser's Edge NXT® Online Giving EAP
- Diocesan Blackbaud Raiser’s Edge NXT® User’s Group
- 2 Blackbaud Consultant’s Community
- 43 End of Term Grade Entry EAP
- 92 EAP for Query in Blackbaud Raiser's Edge NXT®
- 38 Standard Reports for Blackbaud Raiser's Edge NXT® EAP
- 12 Payments Assistant for Blackbaud Financial Edge NXT® EAP
- 6 Ask an All Star (Austen Brown)
- 8 Ask an All-Star Alex Wong (Blackbaud Raiser's Edge NXT®)
- 1 Ask an All-Star Alex Wong (Blackbaud Financial Edge NXT®)
- 6 Ask an All-Star (Christine Robertson)
- 21 Ask an Expert (Anthony Gallo)
- Blackbaud Francophone Group
- 22 Ask an Expert (David Springer)
- 4 Raiser's Edge NXT PowerUp Challenge #1 (Query)
- 6 Ask an All-Star Sunshine Reinken Watson and Carlene Johnson
- 4 Raiser's Edge NXT PowerUp Challenge: Events
- 14 Ask an All-Star (Elizabeth Johnson)
- 7 Ask an Expert (Stephen Churchill)
- 2025 ARCHIVED FORUM POSTS
- 322 ARCHIVED | Financial Edge® Tips and Tricks
- 164 ARCHIVED | Raiser's Edge® Blog
- 300 ARCHIVED | Raiser's Edge® Blog
- 441 ARCHIVED | Blackbaud Altru® Tips and Tricks
- 66 ARCHIVED | Blackbaud NetCommunity™ Blog
- 211 ARCHIVED | Blackbaud Target Analytics® Tips and Tricks
- 47 Blackbaud CRM Higher Ed Product Advisory Group (HE PAG)
- Luminate CRM DC Users Group
- 225 ARCHIVED | Blackbaud eTapestry® Tips and Tricks
- 1 Blackbaud eTapestry® Know How Blog
- 19 Blackbaud CRM Product Advisory Group (BBCRM PAG)
- 1 Blackbaud K-12 Education Solutions™ Blog
- 280 ARCHIVED | Mixed Community Announcements
- 3 ARCHIVED | Blackbaud Corporations™ & Blackbaud Foundations™ Hosting Status
- 1 npEngage
- 24 ARCHIVED | K-12 Announcements
- 15 ARCHIVED | FIMS Host*Net Hosting Status
- 23 ARCHIVED | Blackbaud Outcomes & Online Applications (IGAM) Hosting Status
- 22 ARCHIVED | Blackbaud DonorCentral Hosting Status
- 14 ARCHIVED | Blackbaud Grantmaking™ UK Hosting Status
- 117 ARCHIVED | Blackbaud CRM™ and Blackbaud Internet Solutions™ Announcements
- 50 Blackbaud NetCommunity™ Blog
- 169 ARCHIVED | Blackbaud Grantmaking™ Tips and Tricks
- Advocacy DC Users Group
- 718 Community News
- Blackbaud Altru® Hosting Status
- 104 ARCHIVED | Member Spotlight
- 145 ARCHIVED | Hosting Blog
- 149 JustGiving® from Blackbaud® Blog
- 97 ARCHIVED | bbcon® Blogs
- 19 ARCHIVED | Blackbaud Luminate CRM™ Announcements
- 161 Luminate Advocacy News
- 187 Organizational Best Practices Blog
- 67 everydayhero Blog
- 52 Blackbaud SKY® Reporting Announcements
- 17 ARCHIVED | Blackbaud SKY® Reporting for K-12 Announcements
- 3 Luminate Online Product Advisory Group (LO PAG)
- 81 ARCHIVED | JustGiving® from Blackbaud® Tips and Tricks
- 1 ARCHIVED | K-12 Conference Blog
- Blackbaud Church Management™ Announcements
- ARCHIVED | Blackbaud Award Management™ and Blackbaud Stewardship Management™ Announcements
- 1 Blackbaud Peer-to-Peer Fundraising™, Powered by JustGiving® Blogs
- 39 Tips, Tricks, and Timesavers!
- 56 Blackbaud Church Management™ Resources
- 154 Blackbaud Church Management™ Announcements
- 1 ARCHIVED | Blackbaud Church Management™ Tips and Tricks
- 11 ARCHIVED | Blackbaud Higher Education Solutions™ Announcements
- 7 ARCHIVED | Blackbaud Guided Fundraising™ Blog
- 2 Blackbaud Fundraiser Performance Management™ Blog
- 9 Foundations Events and Content
- 14 ARCHIVED | Blog Posts
- 2 ARCHIVED | Blackbaud FIMS™ Announcement and Tips
- 59 Blackbaud Partner Announcements
- 10 ARCHIVED | Blackbaud Impact Edge™ EAP Blogs
- 1 Community Help Blogs
- Diocesan Blackbaud Raiser’s Edge NXT® Users' Group
- Blackbaud Consultant’s Community
- Blackbaud Francophone Group
- 1 BLOG ARCHIVE CATEGORY
- Blackbaud Community™ Discussions
- 8.3K Blackbaud Luminate Online® & Blackbaud TeamRaiser® Discussions
- 5.7K Jobs Board