Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.06.2022, 11:36
Кандидат Javascript-наук
Отправить личное сообщение для 12345678 Посмотреть профиль Найти все сообщения от 12345678
 
Регистрация: 02.09.2012
Сообщений: 105

Аналог jquery наличия cookies, создания cookies
Доброго времени суток.

var author = readCookie('commenter_author');
if(author) jQuery('input[name="author"]').val(author);
...
if(jQuery('input[name="author"]').length) createCookie('commenter_author', jQuery('input[name="author"]').val(), 365);


Идёт считывание - если есть куки, то вписываем его значение в input
И следующая команда - если в input что-то есть на момент срабатывания, то создаём куки с этим значением.

Как это будет на чистом JS?
Ответить с цитированием
  #2 (permalink)  
Старый 20.06.2022, 12:34
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 31,984

12345678,

<!DOCTYPE html>
<html>

<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <script>
        document.addEventListener("DOMContentLoaded", function() {
            const input = document.querySelector("input[name='author']"),
                author = localStorage.getItem("commenter_author");
            if (author) input.value = author
            input.addEventListener("input", function() {
                localStorage.setItem("commenter_author", input.value)
            })
        });
    </script>
</head>

<body>
    <input type="text" name="author">
</body>

</html>
Ответить с цитированием
  #3 (permalink)  
Старый 20.06.2022, 12:36
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 13,830

Сообщение от 12345678
Как это будет на чистом JS?
Тут описываются функции для работы с куками...
https://ruseller.com/lessons.php?id=593

А с ДОМ-элементами можно работать через
https://developer.mozilla.org/ru/doc.../querySelector
или
https://developer.mozilla.org/en-US/...erySelectorAll
Ответить с цитированием
  #4 (permalink)  
Старый 20.06.2022, 17:07
Кандидат Javascript-наук
Отправить личное сообщение для 12345678 Посмотреть профиль Найти все сообщения от 12345678
 
Регистрация: 02.09.2012
Сообщений: 105

рони
К сожалению, я не смог разобрать что от чего в том коде. Там всё вперемешку, и там не куки фигурирует, это дополнительно меня дезориентирует.

Вообще вот так весь код выглядит:

<script>
	function createCookie(name, value, days) {
		if(days) {
			var date = new Date();
			date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
			var expires = "; expires=" + date.toGMTString();
		} else var expires = "";
		document.cookie = name + "=" + value + expires + "; path=/";
	}

	function readCookie(name) {
		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;
	}



	document.addEventListener("DOMContentLoaded", function() {
		var author = readCookie('commenter_author');
		var email = readCookie('commenter_email');
		if(author) jQuery('input[name="author"]').val(author);
		if(email) jQuery('input[name="email"]').val(email);
		document.getElementById('commentform').addEventListener('submit', function(){
			if(jQuery('input[name="author"]').length) createCookie('commenter_author', jQuery('input[name="author"]').val(), 365);
			if(jQuery('input[name="email"]').length) createCookie('commenter_email', jQuery('input[name="email"]').val(), 365);
		});

	})
	</script>


<form action="h" method="post" id="commentform" class="comment-form">
								<p class="comment-notes"><span id="email-notes">Ваш e-mail не будет опубликован.</span> Обязательные поля помечены <span class="required">*</span></p>
								<p class="comment-form-author">
									<label for="author">Имя <span class="required">*</span></label>
									<input id="author" name="author" type="text" value="" size="30" maxlength="245" required="required">
								</p>
								<p class="comment-form-email">
									<label for="email">E-mail <span class="required">*</span></label>
									<input id="email" name="email" type="text" value="" size="30" maxlength="100" aria-describedby="email-notes" required="required">
								</p>
								<p class="comment-form-comment">
									<label for="comment">Комментарий</label>
									<textarea id="comment" name="comment" cols="45" rows="8" maxlength="65525" required="required"></textarea>
								</p>
								<p class="form-submit">
									<input name="submit" type="submit" id="submit" class="submit" value="Отправить комментарий">
								</p>
							</form>

Последний раз редактировалось 12345678, 20.06.2022 в 17:13.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ищу jQuery плагин для создания меню Zeboton jQuery 9 15.09.2014 14:31
Срочно нужна помощь с jQuery, cookies xxxLOGIATxxx Библиотеки/Тулкиты/Фреймворки 0 08.05.2011 08:57
Подскажите пожалуйта, JQuery и Cookies Юрий466 Элементы интерфейса 0 10.03.2010 10:42
проверка наличия jQuery uncher4 jQuery 5 06.01.2010 14:00
как сделать аналог jquery.load без jquery? vvsh AJAX и COMET 5 05.06.2009 21:40