Search code examples
javascriptasp.netcookiessetcookie

Set Cookie in ASP .NET CheckBox Does Not work Using JS


I want to set a cookie to listen to a checkbox (true/false) so it will change the state of the cookie below the code in the page where I set the cookie

  $(document).ready(function ()
     {

         $('#ContentPlaceHolder1_chkSD').change(function setCookie() {
             if ($('#ContentPlaceHolder1_chkSD').is('checked')) {

                 document.cookie(setCookie, true);

                 // console.log('cooooooookie = true');
             }
             else {
                 // console.log('kooouuuuuukiiiie = false');
                 document.cookie(setCookie, false);
             }


         })

         function setCookie(c_name, value, exdays) {
             var exdate = new Date();
             exdate.setDate(exdate.getDate() + exdays);
             var c_value = escape(value) +
               ((exdays == null) ? "" : ("; expires=" + exdate.toUTCString()));
             document.cookie = c_name + "=" + c_value;
         }

This does not work, I get 0x800a138a - JavaScript runtime error: Function expected once I click on the checkbox


Solution

  • Make sure you are correctly calling your setCookie function by passing it the expected parameters (cookie name, value and expires):

    if ($('#ContentPlaceHolder1_chkSD').is('checked')) {
        setCookie("cookie_name", "true", null);
    } else {
        setCookie("cookie_name", "false", null);
    }