eCard message conditional - how to?
Under Email/Stationary - basic eCard
statement <convio:session name="63" param="2"></convio:session> pulls in a message from forms eCard message variable.
What is the proper syntax for creating a conditional to test if the eCard message is not empty?
I would like to display a message title if it exists, otherwise no message title display.
Here is pseudo-code of what I would like to do:
if "eCard message" is not empty then
<br /><strong>Personal Note:</strong><br/>"
end
<convio:session name="63" param="2"></convio:session>
Thanks,
-serge
Comments
-
Serge,
This is a little tricky. The Ecard content rendered with the S63 tag includes an intro line, "A message from <<sender name>> <<sender email>>", so S63 is actually never empty.
The only solution I can think of is to use JavaScript on the Ecard form to set a session variable indicating whether or not the sender has filled in a message. That would look something like this:
<img id="AjaxHelper" alt="" width="1" height="1" style="position:absolute;left:-999em;" src="AjaxHelper?s_isMessageEmpty=1" />
<script type="text/javascript">
var messageIsEmpty=true;
function isMessageEmpty(){
var ecardMessage=document.getElementById('message');
var ajaxHelper=document.getElementById('AjaxHelper');
if(ecardMessage.value==''&&!messageIsEmpty){
ajaxHelper.src='AjaxHelper?s_isMessageEmpty=1';
messageIsEmpty=true;
}
else if(ecardMessage.value!=''&&messageIsEmpty){
ajaxHelper.src='AjaxHelper?s_isMessageEmpty=0';
messageIsEmpty=false;
}
}
addOnLoadHandler(function(){
var ecardMessage=document.getElementById('message');
isMessageEmpty();
Utils.addEvent(ecardMessage,'keyup',isMessageEmpty);
});
</script>Then in the Ecard stationery, you'd use a conditional like this to test the session variable's value:
]x::<br /><strong>Personal Note:</strong><br/>::]]
]Note that the "Personal Note:" text will appear above the aforementioned "A message from <<sender name>> <<sender email>>" text. If you want "Personal Note" to appear directly above the Ecard message itself, the conditional would need to go in the Message Catalog entry for "A message from {0} {1}."
0 -
Noah Cooper:
Serge,
This is a little tricky. The Ecard content rendered with the S63 tag includes an intro line, "A message from <<sender name>> <<sender email>>", so S63 is actually never empty.
The only solution I can think of is to use JavaScript on the Ecard form to set a session variable indicating whether or not the sender has filled in a message. That would look something like this:
<img id="AjaxHelper" alt="" width="1" height="1" style="position:absolute;left:-999em;" src="AjaxHelper?s_isMessageEmpty=1" />
<script type="text/javascript">
var messageIsEmpty=true;
function isMessageEmpty(){
var ecardMessage=document.getElementById('message');
var ajaxHelper=document.getElementById('AjaxHelper');
if(ecardMessage.value==''&&!messageIsEmpty){
ajaxHelper.src='AjaxHelper?s_isMessageEmpty=1';
messageIsEmpty=true;
}
else if(ecardMessage.value!=''&&messageIsEmpty){
ajaxHelper.src='AjaxHelper?s_isMessageEmpty=0';
messageIsEmpty=false;
}
}
addOnLoadHandler(function(){
var ecardMessage=document.getElementById('message');
isMessageEmpty();
Utils.addEvent(ecardMessage,'keyup',isMessageEmpty);
});
</script>Then in the Ecard stationery, you'd use a conditional like this to test the session variable's value:
]x::<br /><strong>Personal Note:</strong><br/>::]]
]Note that the "Personal Note:" text will appear above the aforementioned "A message from <<sender name>> <<sender email>>" text. If you want "Personal Note" to appear directly above the Ecard message itself, the conditional would need to go in the Message Catalog entry for "A message from {0} {1}."
Thanks Noah,
that is tricky!
Perhaps there is a less complex way..
I am thinking that perhaps I would like to test the message for emptyness on the form (I use API, so have full control of the client side)
and insert a key string into the message if message on the html form is not empty, say ***.
On html API form:
Something like this:
<script>
var o = getObject('ecard.message');
if( o ) {
if( o.value != '' ) then o.value = '***'+o.value;
}
</script>
Then on eCard side do something like this (pseudocode):
if ecardMessage.contains("***") then
print "<br /><strong>Personal Note:</strong><br/>"
print ecardMessage
end if
How would I test the message for a presence of ***, and then display a title?
Thanks,
-serge
0 -
Serge Tkachov:
Thanks Noah,
that is tricky!
Perhaps there is a less complex way..
I am thinking that perhaps I would like to test the message for emptyness on the form (I use API, so have full control of the client side)
and insert a key string into the message if message on the html form is not empty, say ***.
On html API form:
Something like this:
<script>
var o = getObject('ecard.message');
if( o ) {
if( o.value != '' ) then o.value = '***'+o.value;
}
</script>
Then on eCard side do something like this (pseudocode):
if ecardMessage.contains("***") then
print "<br /><strong>Personal Note:</strong><br/>"
print ecardMessage
end if
How would I test the message for a presence of ***, and then display a title?
Thanks,
-serge
You could do that like so:
]::***::::<br /><strong>Personal Note:</strong><br/>]]
]Bearing in mind the issue I noted before -- this text will appear above "A message from ..."
0
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