Я учусь js, в последнее время прошу прощения за мой английский sh и за очевидность моих вопросов. У меня две проблемы, я был бы признателен за решения в чистом виде JavaScript.
После нескольких руководств я установил сценарий localStorage на странице HTML.
pag1. html
<p> Hello! what's your name?</p>
<form action="pag2.html">
<input type="text" id="txt"/>
<input type="submit" value="nome" onClick="passvalues();"/>
</form>
// the form has a link to pag2.html
<script>
function passvalues()
{
var nme=document.getElementById("txt").value;
localStorage.setItem("textvalue",nme);
return false;
}
</script>
Допустим, пользователь вводит имя «Люси»:
pag2. html
<p>Hi <span id="result">Lucy<span> nice to meet you!</p>` // the name appears
<p>How are you today <span id="result">NOTHING</span>?</p>` // the name does not appear
<a href="pag3.html">pag3</a>
<script>
document.getElementById("result").innerHTML = localStorage.getItem("textvalue");
</script>
Первый вопрос
ИМЯ появляется только один раз за мою ошибку или должно быть так? Должен ли я использовать другой синтаксис, чтобы он отображался несколько раз?
pag3. html
<p><span id="result">Lucy</span>which gender designation do you prefer to be used with you?</p>
<p><a href="male.html">male</a></p>
<p><a href="female.html">female</a></p>
<p><a href="neutral.html">neutral</a></p>
<script>
document.getElementById("result").innerHTML = localStorage.getItem("textvalue");
</script>
Второй вопрос
На странице 3 пользователь должен выбрать, хочет ли он называться мужчиной, женщиной или нейтральным.
Одно из решений - установить три разные страницы в соответствии с выбранным жанром . Но это решение не изящно и увеличивает количество страниц.
Кажется, я где-то читал, что с js можно go перейти на другую страницу и в то же время установить значение a Логическая переменная (true / false) через ссылку.
Примерно так (синтаксис придуман):
<a href="female.html" set var f true> female</a>
Это позволит вам создать одну целевую страницу со вставкой три "если":
if (female true) {
text = "brava";
} else if (male true) {
text= "bravo";
} else {
text = "bene";
}
Можно ли это сделать? Как? Я пробовал этот сценарий htmlgoodies несколько раз, но для меня это слишком сложно.
Здравствуйте,
Прежде всего, я бы поблагодарил @cssyphus и @Shahnawazh за ответы.
Вопрос 1
Мне удалось показать имя несколько раз на одной странице со скриптом:
<script>
var result = document.getElementsByClassName('result');
[].slice.call(result).forEach(function (className) {
className.innerHTML = localStorage.getItem("textvalue");
});
</script>
Но действительно ли мне нужно его включать на всех страницах, на которых нужно отображать имя? Я также пробовал вставить скрипт на внешнюю страницу js, но имя не появилось ни разу.
Вопрос 2
Что касается второго вопроса, я не получил положительных результатов.