Привет, я новичок javascript.
У меня есть флажок, который содержит другой входной файл slideDown, я хочу, чтобы этот флажок был установлен, а другой вход показывался после обновления страницы, если флажок установлен на вход
JavaScript:
function validateSitec(){ if (document.getElementById('sitecheck').checked){ $('#sitecheck').prop('checked', true); $('#closedmsg').slideDown(); }else{ $('#closedmsg').slideUp(); $("#sitecheck").removeProp("checked").checkboxradio("refresh"); } }
это мои входы:
<label for="sitecheck"> <span style="font-weight:bold;">close site+ msg:</span> </label> <input name="" type="checkbox" id="sitecheck" onclick="validateSitec()" /><span style="font-weight:bold;">click to activate msg</span><br> <input type="text" name="closedmsg" id="closedmsg" style="width:440px;height:120px;display:none;" value="enter closed msg.."/>
я хочу, если проверил, проверил, проверил. .. и не изменится после обновления страницы, а затем, если не проверено, чтобы вернуться в нормальное состояние и не проверяться при обновлении страницы.
Должен ли я использовать php для его изменения после проверки с помощью javascript?
Отредактировано:
Спасибо всем за помощь в получении кредита: leiyonglin.
Рабочий код для тех, кто любит его использовать:
сначала загрузите: https://github.com/carhartl/jquery-cookie
затем используйте эти коды, работающие потрясающе:
JavaScript:
<script type="text/javascript"> function validateSitec(){ if (document.getElementById('sitecheck').checked){ $('#sitecheck').prop('checked', true); $('#closedmsg').slideDown(); $.cookie("cookieChecked", "#sitecheck"); }else{ $('#closedmsg').slideUp(); $("#sitecheck").removeProp("checked"); $.cookie("cookieChecked",""); } } $(function(){ var cookieChecked = $.cookie("cookieChecked"); if(cookieChecked){ $('#sitecheck').prop('checked', true); $('#closedmsg').show(); }else{ $("#sitecheck").removeProp("checked"); $('#closedmsg').hide(); } }) </script>
Входы html:
<label for="sitecheck"> <span style="font-weight:bold;">close site temp:</span> </label> <input name="" type="checkbox" id="sitecheck" onclick="validateSitec()" /><span style="font-weight:bold;">close site and add message</span><br> <input type="text" name="closedmsg" id="closedmsg" style="width:440px;height:120px;display:none;" value="<?php echo $data['csitemsg']; ?>" />
Это работает отлично все снова.
Установить файлы cookie: сохранить отмеченный элемент в файле cookieChecked
function validateSitec(){ if (document.getElementById('sitecheck').checked){ $('#sitecheck').prop('checked', true); $('#closedmsg').slideDown(); $.cookie("cookieChecked", "#sitecheck"); }else if(document.getElementById('closedmsg').checked){ $('#closedmsg').slideUp(); $("#sitecheck").removeProp("checked").checkboxradio("refresh"); $.cookie("cookieChecked", "#closedmsg"); } else { $.cookie("cookieChecked",""); } }
Когда страница загружается
$(function(){ var cookieChecked = $.cookie("cookieChecked"); if(cookieChecked){ $(cookieChecked).trigger("click"); } })
Я использую плагин jquery cookie: https://github.com/carhartl/jquery-cookie
Вы можете использовать файл cookie для сохранения ваших данных на странице обновления с помощью файла cookie. Я замечаю, что вы используете JQuery в своем коде. Вот плагин JQuery-Cookie
который позволит вам использовать cookie для управления вашими данными через обновление страницы.
https://github.com/carhartl/jquery-cookie
Перейдите в раздел « Использование », и вы сможете легко создавать, читать, удалять и устанавливать срок действия плагина.
Определите событие обновления страницы и сохраните статус флажка в кеше или локальном хранилище. После завершения обновления на основе проверенного состояния выполните свою логику
Попробуйте это, а не используйте дополнительный плагин:
<script> function validateSitec(){ if (document.getElementById('sitecheck').checked){ $('#sitecheck').prop('checked', true); $('#closedmsg').slideDown(); document.cookie="sitecheck=site_checked"; }else{ $('#closedmsg').slideUp(); $("#sitecheck").removeProp("checked").checkboxradio("refresh"); document.cookie="sitecheck=site_unchecked"; } } </script>
Когда документ готов:
<script> $(function(){ var kuki=read_cookie("sitecheck"); if(kuki=="site_checked"){ $('#sitecheck').prop('checked', true); $('#closedmsg').slideDown(); }else{ $('#closedmsg').slideUp(); $("#sitecheck").removeProp("checked").checkboxradio("refresh"); } }); </script>
Читать файлы cookie
<script> function read_cookie(name) { var name = name + "="; var kukiAri = document.cookie.split(';'); for(var i=0;i < kukiAri.length;i++) { var kuki = kukiAri[i]; while (kuki.charAt(0)==' ') kuki = kuki.substring(1,kuki.length); if (kuki.indexOf(name) == 0) return kuki.substring(name.length,kuki.length); } return null; }; </script>