как не удалять введённый 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 - при обновлении страницы не удалялся, а удалялся бы только после закрытия окна с этой страницей. |
|
рони,
как ваш скрипт кнопкой запустить этой:<input type='button' onClick='Ok()' value='Ok'> ? |
Спасибо!
|
рони,
<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> Работает.Спасибо! |
Вот и ответ на вопрос.Что js нельзя сохранить.Выходит можно ;)
|
Что делать если
document.querySelector('[type="button"]'); var btn = document.querySelector('[type="image"]'); - не один,а нужен второй или третий? |
Что изменить в скрипте чтоб 2 такие функции работали на 1-й странице
|
Brick,
придумайте элементам классы и продублируйте скрипт полностью, в первом будут (условно) var btn = document.querySelectorAll('.btn')[0]; а во втором var btn = document.querySelectorAll('.btn')[1]; |
рони,
Вот скрипт ,который я изменил он работает: 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> -- Я вас немного не понял,что здесь изменить на что и в каких строках? |
Brick,
<input type='button' class='btn' value='Ok'> var btn = document.querySelectorAll('.btn')[0]; |
рони,
Предлогаю решить проблему так: кнопке присвоить ID и var btn = document.querySelector('[type="button"]'); заменить на: var btn = document.getElementById("название id"); |
Brick,
как вам удобнее или класс и индекс или уникальное id |
<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> вроде работает :) |
Brick,
:) |
рони,
есть такой скрипт: msg = prompt("Сообщение:",""); это диологовое окно. Как сделать чтоб строка была шире и больше и было 2,3 поля ввода ? |
Brick,
sessionStorage.getItem("mes"); sessionStorage.mes mes заменить на любой текст во втором скрипте |
Цитата:
|
рони,
в promt так нельзя? |
sessionStorage.getItem("mes");
sessionStorage.mes -- это не ключи - куда временно записывается информация? |
как удалить данные введенные и сохраненные?sessionStorage
|
удаление:
- всего хранилица и - удаление данных из конкретного ключа ? как? |
за что дают это: Кандидат Javascript-наук?
|
Цитата:
https://developer.mozilla.org/ru/doc...age/removeItem https://developer.mozilla.org/ru/doc...eb_Storage_API |
рони,
Спасибо! |
Цитата:
|
рони,
Спасибо! |
рони,
<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. :( |
Brick,
:cray: :cray: :cray: Цитата:
function Ok() { sessionStorage.removeItem("txt"); } |
|
рони,
Спасибо - я читаю но бегло ;) |
|
рони,
Спасибо за скрипт ,хотел ещё спросить что надо удалить из него чтоб но запускался без кнопок Т.е. на сторонней странице в определённом классе надо отобразить текст) |
Цитата:
if(title === null) title = oldTitle ; div.innerHTML = sessionStorage.txt = title |
можно ли на js создать функцию замены - символа на картинку или текста на ссылку?
@текст@ - заменить на <a href="?">текст</a> ) заменить на <img src="smile.png"/> ? -- суть функции такая вводит в поле textarea символ нажимаем на кнопку ,в html странице должна появиться ссылка или картинка :) |
|
|
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 }) }); не работает,где ошибка? |
Brick,
8 строка лишняя, а сам скрипт бессмысленный после ваших манипуляций. ... !!! document.addEventListener("DOMContentLoaded", function () { var div = document.getElementsByClassName("page_title_in")[0]; div.innerHTML = "текст" }); |
рони,
подождите мне нужно добавить текст в класс и сохранить в sessionstorage добавить надо без функций типо так document.getElementsByClassName("m10")[0].innerHTML="текст"; :( |
Часовой пояс GMT +3, время: 00:27. |