Cохранение и подстановка имени и эл. почты комментатора в WordPress через jQuery
Доброго времени суток, уважаемые гуру.
Мне необходимо запоминать введённые данные комментатора (Имя и электронная почта) и подставлять их на других страницах. Сейчас этого не происходит из-за использования кеширующего плагина. Вот такой скрипт я подчеркнул http://dimox.name/jquery-script-cook...ress-maxcache/ var $j = jQuery.noConflict(); $j(function() { var author = readCookie('wp_commenter_author'); var email = readCookie('wp_commenter_email'); var url = readCookie('wp_commenter_url'); if (author) $j('input[name="author"]').val(author); if (email) $j('input[name="email"]').val(email); if (url) $j('input[name="url"]').val(url); $j('#commentform').submit(function() { if ($j('input[name="author"]').length) createCookie('wp_commenter_author', $j('input[name="author"]').val(), 365); if ($j('input[name="email"]').length) createCookie('wp_commenter_email', $j('input[name="email"]').val(), 365); if ($j('input[name="url"]').length) createCookie('wp_commenter_url', $j('input[name="url"]').val(), 365); }); }) Я его переделал, руководствуясь своими очень скоромными познаниями в JS: jQuery(function() { var author = readCookie('wp_commenter_author'); var email = readCookie('wp_commenter_email'); if (author) jQuery('input[name="author"]').val(author); if (email) jQuery('input[name="email"]').val(email); jQuery('#commentform').submit(function() { if (jQuery('input[name="author"]').length) createCookie('wp_commenter_author', jQuery('input[name="author"]').val(), 365); if (jQuery('input[name="email"]').length) createCookie('wp_commenter_email', jQuery('input[name="email"]').val(), 365); }); }) Но почему то пишет в консоле ошибку "readCookie" не определено и соответственно скрипт свою функцию не выполняет. Как правильно должно быть? |
На странице нет функций "readCookie" и "createCookie".
Вставьте эти функции до своего кода: function cookie(name,value,days){ if(value){ var expires=""; if(days){ var date=new Date(); date.setTime(date.getTime()+(days*24*3600*1000)); expires="; expires="+date.toGMTString(); } document.cookie=name+"="+value+expires+"; path=/"; return true; }else{ var nameEQ=name+"="; var ca=document.cookie.split(';'); for(var i=0;i<ca.length;i++){ var c=ca[i]; while(c.charAt(0)==' ') c=c.substring(1,c.length); if(c.indexOf(nameEQ)==0) return c.substring(nameEQ.length,c.length); } return null; } }; function readCookie(name){ return cookie(name); } function createCookie(name,value,days){ return cookie(name,value,days); } |
Nexus
Большое спасибо! Так работает как положено :-) |
Часовой пояс GMT +3, время: 10:02. |