Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   как не удалять введённый js(ом) текст ,при обновлении страницы! (https://javascript.ru/forum/css-html/74617-kak-ne-udalyat-vvedjonnyjj-js-om-tekst-pri-obnovlenii-stranicy.html)

Brick 24.07.2018 20:09

как не удалять введённый js(ом) текст ,при обновлении страницы!
 
<hr>
<span id="q"></span>
<hr>
<input type='button' onClick='Ok()' value='Ok'>  
<script>
function Ok()
{
var k = prompt("Сообщение:","");
{
document.getElementById("q").innerHTML=k;
 }}
</script>

----
Помогите пожалуйста.
Задача следующая: есть функция Ok,которая отправляет текст в id="q".Как сделать чтоб,этот текст,после введения функцией Ok - при обновлении страницы не удалялся, а удалялся бы только после закрытия окна с этой страницей.

рони 24.07.2018 21:17

Brick,
не плодите темы, ответ вам дали тут
https://javascript.ru/forum/css-html...tml#post490561

Brick 25.07.2018 01:13

рони,
как ваш скрипт кнопкой запустить этой:<input type='button' onClick='Ok()' value='Ok'>
?

Brick 25.07.2018 01:28

Спасибо!

Brick 25.07.2018 01:28

рони,
<hr>
<span id="q"></span>
<hr>
<input type='button' onClick='Ok()' value='Ok'>  
<script>
<script>
document.addEventListener("DOMContentLoaded", function Ok() {
var title = sessionStorage.getItem("mes");
 var div = document.getElementById("q");
var btn = document.querySelector('[type="button"]');
var oldTitle = div.innerHTML;
if (title) div.innerHTML = title;
btn.addEventListener("click", function() {
title =prompt("Сообщение:", "");
if(title === null) title = oldTitle ;
div.innerHTML = sessionStorage.mes = title
})
});
</script>

Работает.Спасибо!

Brick 25.07.2018 01:29

Вот и ответ на вопрос.Что js нельзя сохранить.Выходит можно ;)

Brick 25.07.2018 02:06

Что делать если
document.querySelector('[type="button"]');
var btn = document.querySelector('[type="image"]');
- не один,а нужен второй или третий?

Brick 25.07.2018 02:19

Что изменить в скрипте чтоб 2 такие функции работали на 1-й странице

рони 25.07.2018 10:15

Brick,
придумайте элементам классы и продублируйте скрипт полностью, в первом будут (условно)
var btn = document.querySelectorAll('.btn')[0];

а во втором
var btn = document.querySelectorAll('.btn')[1];

Brick 25.07.2018 11:09

рони,
Вот скрипт ,который я изменил он работает:
1)<script>
document.addEventListener("DOMContentLoaded", function msg2() {
var title = sessionStorage.getItem("msg");
var div = document.getElementById("msg2");
var btn = document.querySelector('[type="button"]');
var oldTitle = div.innerHTML;
if (title) div.innerHTML = title;
btn.addEventListener("click", function() {
title =prompt("Сообщение:", "");
if(title === null) title = oldTitle ;
div.innerHTML = sessionStorage.msg = title
})
});
</script>
2)<script>
document.addEventListener("DOMContentLoaded", function msg3() {
var title = sessionStorage.getItem("TXT");
var div = document.getElementById("msg3");
var btn = document.querySelector('[type="button"]');
var oldTitle = div.innerHTML;
if (title) div.innerHTML = title;
btn.addEventListener("click", function() {
title =prompt("Текст:", "");
if(title === null) title = oldTitle ;
div.innerHTML = sessionStorage.TXT = title
})
});
</script>

--
Я вас немного не понял,что здесь изменить на что и в каких строках?

рони 25.07.2018 11:11

Brick,
<input type='button' onClick='Ok()' value='Ok'>
<input type='button' class='btn' value='Ok'>

var btn = document.querySelector('[type="button"]');
var btn = document.querySelectorAll('.btn')[0];

Brick 25.07.2018 11:17

рони,

Предлогаю решить проблему так: кнопке присвоить ID и
var btn = document.querySelector('[type="button"]'); заменить на:
var btn = document.getElementById("название id");

рони 25.07.2018 11:19

Brick,
как вам удобнее или класс и индекс или уникальное id

Brick 25.07.2018 11:21

<span id="q"></span>
 	 <input type='button' onClick='Ok()' value='Ok' id="Ok">  
<script>
document.addEventListener("DOMContentLoaded", function Ok() {
var title = sessionStorage.getItem("mes");
var div = document.getElementById("q");
var btn = document.getElementById("Ok");
var oldTitle = div.innerHTML;
if (title) div.innerHTML = title;
btn.addEventListener("click", function() {
title =prompt("Сообщение:", "");
if(title === null) title = oldTitle ;
div.innerHTML = sessionStorage.mes = title
})
});
</script>

вроде работает :)

рони 25.07.2018 11:22

Brick,
:)

Brick 25.07.2018 11:24

рони,
есть такой скрипт:
msg = prompt("Сообщение:","");
это диологовое окно.
Как сделать чтоб строка была шире и больше и было 2,3 поля ввода
?

рони 25.07.2018 11:25

Brick,
sessionStorage.getItem("mes");
sessionStorage.mes

mes заменить на любой текст во втором скрипте

рони 25.07.2018 11:27

Цитата:

Сообщение от Brick
Как сделать чтоб строка была шире и больше и было 2,3 поля ввода

менять prompt на модальное окно с textarea и т.д.

Brick 25.07.2018 11:29

рони,
в promt так нельзя?

Brick 25.07.2018 11:30

sessionStorage.getItem("mes");
sessionStorage.mes
--
это не ключи - куда временно записывается информация?

Brick 25.07.2018 11:32

как удалить данные введенные и сохраненные?sessionStorage

Brick 25.07.2018 12:03

удаление:
- всего хранилица и
- удаление данных из конкретного ключа
?
как?

Brick 25.07.2018 12:03

за что дают это: Кандидат Javascript-наук?

рони 25.07.2018 12:23

Цитата:

Сообщение от Brick
всего хранилица и
- удаление данных из конкретного ключа
?
как?

https://developer.mozilla.org/ru/doc.../Storage/clear
https://developer.mozilla.org/ru/doc...age/removeItem
https://developer.mozilla.org/ru/doc...eb_Storage_API

Brick 25.07.2018 12:26

рони,
Спасибо!

рони 25.07.2018 12:27

Цитата:

Сообщение от Brick
за что дают это: Кандидат Javascript-наук?

это тому, кто не хочет читать документацию, а задаёт 100 вопросов.

Brick 25.07.2018 13:12

рони,
Спасибо!

Brick 25.07.2018 13:12

рони,
<script>
document.addEventListener("DOMContentLoaded", function msg1() {
var title = sessionStorage.getItem("txt");
var div = document.getElementById("msg1");
var btn = document.getElementById("txt");

var oldTitle = div.innerHTML;
if (title) div.innerHTML = title;
btn.addEventListener("click", function() {
title =prompt("Сообщение:", "");
if(title === null) title = oldTitle ;
div.innerHTML = sessionStorage.txt = title
})
});
</script>
<script>
function Ok()
{
storage.removeItem(txt);
}
</script>

 <input type='button' onClick='Ok()' value='Ok'>

Функция Ok ,не хочет удалять данные ключа txt.
:(

рони 25.07.2018 13:24

Brick,
:cray: :cray: :cray:
Цитата:

Сообщение от рони
это тому, кто не хочет читать документацию

function Ok()
{
sessionStorage.removeItem("txt");
}

рони 25.07.2018 13:27

Brick,
https://developer.mozilla.org/ru/docs/Web/API/Storage

Brick 25.07.2018 13:55

рони,
Спасибо - я читаю но бегло ;)

Brick 25.07.2018 13:56

вот нашёл:
https://canonium.com/articles/html-webstorage

Brick 25.07.2018 13:59

рони,
Спасибо за скрипт ,хотел ещё спросить
что надо удалить из него чтоб но запускался без кнопок
Т.е. на сторонней странице в определённом классе надо отобразить текст)

рони 25.07.2018 14:58

Цитата:

Сообщение от Brick
что надо удалить из него чтоб но запускался без кнопок

не осилил, но может быть вы хотели так
btn.addEventListener("click", function() {
title =prompt("Сообщение:", "");
if(title === null) title = oldTitle ;
div.innerHTML = sessionStorage.txt = title
})

Brick 25.07.2018 18:12

можно ли на js создать функцию замены - символа на картинку или текста на ссылку?
@текст@ - заменить на <a href="?">текст</a>
) заменить на <img src="smile.png"/>
?
--
суть функции такая вводит в поле textarea символ
нажимаем на кнопку ,в html странице должна появиться ссылка или картинка :)

рони 25.07.2018 18:19

Brick,
можно
Добавление и удаление узлов

рони 25.07.2018 18:24

Brick,
https://javascript.ru/forum/dom-wind...tml#post451921
http://javascript.ru/forum/showthrea...278#post365284

Brick 25.07.2018 21:41

document.addEventListener("DOMContentLoaded", function () {
var title = sessionStorage.getItem("txt");
var div = document.getElementsByClassName("page_title_in")[0];
var oldTitle = div.innerHTML;
if (title) div.innerHTML = title;
title ="текст";
div.innerHTML = sessionStorage.txt = title
})
});

не работает,где ошибка?

рони 25.07.2018 22:16

Brick,
8 строка лишняя, а сам скрипт бессмысленный после ваших манипуляций.
... !!!
document.addEventListener("DOMContentLoaded", function () {
var div = document.getElementsByClassName("page_title_in")[0];
div.innerHTML = "текст"
});

Brick 25.07.2018 22:37

рони,
подождите мне нужно добавить текст в класс и сохранить в sessionstorage
добавить надо без функций типо так
document.getElementsByClassName("m10")[0].innerHTML="текст";
:(


Часовой пояс GMT +3, время: 00:27.