"Selling" $0 tickets in order to track registrants for a free event - js/jquery help please!!!

Options
Another question for the js/jquery savvy folks out there!  


I want to use a ticketed calender event form to manage complimentary tickets, but there is a bit of BB/Convio js built in which throws an error if the cost of the sale is null.  The reason I want to still use the ticket form rather than an RSVP form or survey form is because I want the transactions to come down to our CRM master database as registrations to make it easier for our staff to track and manage them - that is the way they are used to handling all other events.  I have js managing the number of tickets and hiding irrelevant data to make it easy for the user, and the form behaves perfectly if only there weren't this super annoying cost-must-be-over-$0 safeguard built in! Crazy not to allow complimentary registrations.


Sooo... does anyone js/jquery savvy have a workaround for this bit of script below? Is there a way to write a function to disable this function, a way to overwrite this function, or any other creative solution?  I've tried a few things but I have only monkey-see-monkey-do knowledge of js/jquery so this is hard for me to troubleshoot.  MUCH APPRECIATED!!

Tanna


function calculate(_form) {

var done = false;

totalCost = 0.0;

totalQuantity = 0;

if (_form.tix_cost.length != null) {

for (var x = 0; done == false; x++) {

if (_form.tix_cost[x] != null) {

calc_class(_form.tix_quantity[x], _form.tix_cost[x], _form.tix_price[x]);

}

else {

done=true;

}

}

}

else if (_form.tix_cost != null) {

calc_class(_form.tix_quantity, _form.tix_cost, _form.tix_price);

}

_form.tix_total_cost.value = '$'+formatCurrency(totalCost);

_form.tix_total_quantity.value = totalQuantity;

if(_form.gift_value != null)

{

var s = _form.gift_value.value;

s = parseCurrency(s);

var gift = parseFloat(parseCurrency(s));

if(gift < 0)

{

alert(_form.gift_value.value + " is not a valid, positive amount.");

_form.gift_value.focus();

_form.gift_value.select();

}

else

{

totalCost += gift;

_form.total_amount.value = '$'+formatCurrency(totalCost);

}

}

}


 
Tagged:

Comments

  • Tanna, 


    Do you have a link to the form that you are working on? Here is a basic ticketed event with a free ticket option (wrapper removed) and we are able to go through and purchase a $0 ticket. 


    Hilary




    Tanna Lewis
    :

    Another question for the js/jquery savvy folks out there!  


    I want to use a ticketed calender event form to manage complimentary tickets, but there is a bit of BB/Convio js built in which throws an error if the cost of the sale is null.  The reason I want to still use the ticket form rather than an RSVP form or survey form is because I want the transactions to come down to our CRM master database as registrations to make it easier for our staff to track and manage them - that is the way they are used to handling all other events.  I have js managing the number of tickets and hiding irrelevant data to make it easy for the user, and the form behaves perfectly if only there weren't this super annoying cost-must-be-over-$0 safeguard built in! Crazy not to allow complimentary registrations.


    Sooo... does anyone js/jquery savvy have a workaround for this bit of script below? Is there a way to write a function to disable this function, a way to overwrite this function, or any other creative solution?  I've tried a few things but I have only monkey-see-monkey-do knowledge of js/jquery so this is hard for me to troubleshoot.  MUCH APPRECIATED!!

    Tanna


    function calculate(_form) {

    var done = false;

    totalCost = 0.0;

    totalQuantity = 0;

    if (_form.tix_cost.length != null) {

    for (var x = 0; done == false; x++) {

    if (_form.tix_cost[x] != null) {

    calc_class(_form.tix_quantity[x], _form.tix_cost[x], _form.tix_price[x]);

    }

    else {

    done=true;

    }

    }

    }

    else if (_form.tix_cost != null) {

    calc_class(_form.tix_quantity, _form.tix_cost, _form.tix_price);

    }

    _form.tix_total_cost.value = '$'+formatCurrency(totalCost);

    _form.tix_total_quantity.value = totalQuantity;

    if(_form.gift_value != null)

    {

    var s = _form.gift_value.value;

    s = parseCurrency(s);

    var gift = parseFloat(parseCurrency(s));

    if(gift < 0)

    {

    alert(_form.gift_value.value + " is not a valid, positive amount.");

    _form.gift_value.focus();

    _form.gift_value.select();

    }

    else

    {

    totalCost += gift;

    _form.total_amount.value = '$'+formatCurrency(totalCost);

    }

    }

    }


     

     

  • The form is here: http://support.childrenscoloradofoundation.org/site/Calendar?id=101021&view=Detail


    I don't see a form link in your response, but you reminded me of the "classic" vs "modern" layout setting.  I can't recall why I initially switched this to classic mode, though I think maybe I ran into trouble hiding some elements of the modern version.  However, it is possible the modern version allows $0 transactions, so I can give that a shot and see if I run into a different issue with it...
  • Hi Tanna,


    Yeah you might want to send the link for us to see what's what.


    oth, investigating just solely the ticketted event component -- I have just tried setting up a $0 ticketted event where the only ticket available are those of $0 amount, all looks fine in terms of the system let me 'purchase' and proceed / complete  the transaction.  Furthermore, tried this on both the responsive and the classic layout, and both let me complete the transaction just fine (gets recorded into the backend as well)


    http://main.diabetes.org/site/Calendar/785790876?view=Detail&id=52851



    Alternatively, why not try the using the regular Teamraiser, if the most important thing is to record the registration. Those participant types act as complimentary enrollment when you set the fee to 0 plus those that enrolled/registered into that participant types should automatically gets enrolled into LO group where you guys can target them for further cultivation.  Just a thought to throw for now as we might not probably have the complete pictures at moment.


    Let us know.


    regards,

    Daniel

     

    Tanna Lewis:

    Another question for the js/jquery savvy folks out there!  


    I want to use a ticketed calender event form to manage complimentary tickets, but there is a bit of BB/Convio js built in which throws an error if the cost of the sale is null.  The reason I want to still use the ticket form rather than an RSVP form or survey form is because I want the transactions to come down to our CRM master database as registrations to make it easier for our staff to track and manage them - that is the way they are used to handling all other events.  I have js managing the number of tickets and hiding irrelevant data to make it easy for the user, and the form behaves perfectly if only there weren't this super annoying cost-must-be-over-$0 safeguard built in! Crazy not to allow complimentary registrations.


    Sooo... does anyone js/jquery savvy have a workaround for this bit of script below? Is there a way to write a function to disable this function, a way to overwrite this function, or any other creative solution?  I've tried a few things but I have only monkey-see-monkey-do knowledge of js/jquery so this is hard for me to troubleshoot.  MUCH APPRECIATED!!

    Tanna


    function calculate(_form) {

    var done = false;

    totalCost = 0.0;

    totalQuantity = 0;

    if (_form.tix_cost.length != null) {

    for (var x = 0; done == false; x++) {

    if (_form.tix_cost[x] != null) {

    calc_class(_form.tix_quantity[x], _form.tix_cost[x], _form.tix_price[x]);

    }

    else {

    done=true;

    }

    }

    }

    else if (_form.tix_cost != null) {

    calc_class(_form.tix_quantity, _form.tix_cost, _form.tix_price);

    }

    _form.tix_total_cost.value = '$'+formatCurrency(totalCost);

    _form.tix_total_quantity.value = totalQuantity;

    if(_form.gift_value != null)

    {

    var s = _form.gift_value.value;

    s = parseCurrency(s);

    var gift = parseFloat(parseCurrency(s));

    if(gift < 0)

    {

    alert(_form.gift_value.value + " is not a valid, positive amount.");

    _form.gift_value.focus();

    _form.gift_value.select();

    }

    else

    {

    totalCost += gift;

    _form.total_amount.value = '$'+formatCurrency(totalCost);

    }

    }

    }


     

     

  • lol posting at same time.


    ok, just saw the link all looks good there, saw where you are coming from -- hiding the table where user would normally need to update the amount and pre-populated the 0 to 1 through JS. Don't think you need to invoke the onchange looks like on modern / responsive layout, it takes that just fine, upon submit the system will do the calculation etc and brings you to the confirmation page (tested that on mine sans hiding the table but have the js prepopulate the 0 to 1 and it's using responsive/modern layout)


    regards,

    Daniel

    Tanna Lewis:

    The form is here: http://support.childrenscoloradofoundation.org/site/Calendar?id=101021&view=Detail


    I don't see a form link in your response, but you reminded me of the "classic" vs "modern" layout setting.  I can't recall why I initially switched this to classic mode, though I think maybe I ran into trouble hiding some elements of the modern version.  However, it is possible the modern version allows $0 transactions, so I can give that a shot and see if I run into a different issue with it...

     

  • Thanks Daniel.  Yeah, no idea why it stopped working in Classic - I could swear I had successfully tested it there a few weeks prior, so maybe some other script I added gummed stuff up or something, but either way, switching to the Modern layout has resolved the issue.  Phew.

Categories