2016-03-23 6 views
0

Привет, ребята, я делаю, помню, что у меня есть функция для моего сайта, когда пользователь проверяет флажок, имя пользователя и пароль должны храниться в файле cookie. когда я проверить флажок ничего не происходит, ни одно событие не срабатываетJQuery не стреляет при проверке галочки

$(document).ready(function(e) { 
    $("#menu").click(function(e) { 
     $(".nav").slideToggle();   
    }); 
    if ($('#remember').attr("checked")) { 
     alert("check box checked"); 
     var username = $('#username').attr("value"); 
     var password = $('#password').attr("value"); 
     // set cookies to expire in 14 days 
     $.cookie('username', username, { expires: 14 }); 
     $.cookie('password', password, { expires: 14 }); 
     $.cookie('remember', true, { expires: 14 }); 
    } else { 
     // reset cookies 
     $.cookie('username', null); 
     $.cookie('password', null); 
     $.cookie('remember', null); 
    } 

}); 
+2

Сначала вы должны использовать событие 'change', а не' click', чтобы включать людей, которые перемещаются с клавиатуры. Во-вторых, ваш оператор 'if' должен быть * внутри * обработчиком событий. Наконец, *** никогда не хранит учетные данные пользователя открытого текста в файле cookie ***. То, что у вас сейчас есть, является серьезным недостатком безопасности. –

+0

Событие click для чего-то другого. #remember - это мой checkbox, просто если кто-то проверяет, что он должен хранить значения в файле cookie – mehraj

ответ

1

Вы поставили тогда и только остальное состояние, но этот код получит огонь по документу готово, а не на флажке. Добавьте обработчик события изменения флажка и поместите его скрипт внутри него, см. Ниже код

$(document).ready(function(e) { 
    $("#menu").click(function(e) { 
     $(".nav").slideToggle();   
    }); 
    // register a change event handler 
    $('#remember').change(function(){ 
     //Use $(this), which is the instance of clicked checkbox 
     if ($(this).is(":checked")) { // you can use is(":checked") 
      alert("check box checked"); 
      var username = $('#username').attr("value"); 
      var password = $('#password').attr("value"); 
      // set cookies to expire in 14 days 
      $.cookie('username', username, { expires: 14 }); 
      $.cookie('password', password, { expires: 14 }); 
      $.cookie('remember', true, { expires: 14 }); 
     } else { 
      // reset cookies 
      $.cookie('username', null); 
      $.cookie('password', null); 
      $.cookie('remember', null); 
     } 
    }); 
}); 
+0

Спасибо большое, он работает – mehraj

+0

счастлив помочь :) –

1

связывают события с флажком в мыши:

$('#remember').click(function(){ 
    alert($(this).attr("checked")); 
});