Document

Передача данных со страницы на другую страницу

Приветствую всех)
Поставил себе задачу сделать форму полями в виде анкеты, после нажатия на кнопку отправить, все данные из полей отсылались на другую страницу html.
Сделать нужно обязательно на JS, так как нужно что бы работало в автономном режиме, без интернета, и серверов.

Перекопал все статьи, но ничего не вышло.
Вот мой код(проверка на заполнение полей сделана):

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
form action='index.html' method="post"> 1. Ваше имя:br> input type="text" name="fnm" value=""> br> 2. Сообщение:br> textarea name="text">/textarea> br> 3. E-Mailbr> input type="text" name="email" value=""> br> 4. Контактный телефонbr> input type="text" name="phone" value=""> br> 3. Введите сумму 10+10br> input type="text" name="summa" id='summa' value="">br> input type="hidden" name="hidden" value="ok"> input type="submit" value="отправить" name="Submit" onClick="return Formdata(this.form)"> /form> script language='Javascript' type='text/javascript'> function Formdata(data)< /* если не заполнено поле Ваше имя, длина менее 3-x*/ if (data.fnm != null && data.fnm.value.length < 3 ) alert('Заполните поле "Ваше имя"'); return false;> /* если не заполнено поле Сообщение */ if (data.text != null && data.text.value.length < 3) alert('Заполните поле "Сообщение"'); return false;> /* e-mail Юзера */ if(data.email != null && data.email.value.length == 0)  alert('поле "E-Mail" пустое'); return false;> if(data.email != null && data.email.value.length < 6) alert('слишком короткий "E-Mail"'); return false;> if(!(/^\w+[-_\.]*\w+@\w+-?\w+\.[a-z]$/.test(data.email.value)) ) < alert("Введите правильный E-Mail адрес"); return false;>/* контактный телефон */ if(data.phone != null && data.phone.value.length == 0)  alert('поле "Контактный телефон" пустое'); return false;> if(data.phone != null && data.phone.value.length < 5) alert('поле "Контактный телефон" должно содержать минимум пять символов'); return false;> if(!(/^[0-9-+()s]+z/.test(data.phone.value+"z"))) < alert('"Контактный телефон" указан неверно'); return false;>/* делаем чтобы поле сумма было равно определенному числу */ number = document.getElementById("summa"); if (number.value !== '20') < alert('"Сумма" не введена или введена неверно'); return false;>>/script>

Источник

Передача значения JavaScript между HTML-страницами

В этой статье мы рассмотрим передачу значения JavaScript между HTML-страницами. Итак, в основном у нас будут две HTML-страницы, и мы переместим некоторую информацию с одной страницы на другую, используя некоторые базовые методы. Так что эта штука будет очень полезна, когда вы попытаетесь создать веб-сайты, где вам нужно передавать данные с одной страницы на другую. Мы увидим это на очень простом примере и объяснении.

Методы передачи значения JavaScript между HTML-страницами

Хорошо, сначала давайте рассмотрим несколько различных методов передачи значения JavaScript между HTML-страницами:

  1. Локальное хранилище
  2. Строка запроса URL
  3. IndexedDB
  4. Одностраничное приложение (SPA)

Так что это основные методы, которые помогают в выполнении этой конкретной задачи. Мы рассмотрим два из этих методов: локальное хранилище и строку запроса URL. Поскольку эти методы довольно хороши и прямолинейны, IndexedDB также очень похож на локальное хранилище, но с ним сложно иметь дело. Одностраничные приложения — это не что иное, как AngularJS и ReactJS, что делает эту задачу намного проще, чем другие методы, а также это не та тема, которую мы можем затронуть в этой отдельной статье.

Передача значения JavaScript между HTML-страницами: локальное хранилище

Первый базовый метод — это локальное хранилище, которое на самом деле является одним из основных способов. Метод локального хранения уже задан самим JavaScript. Теперь давайте посмотрим на базовый пример, чтобы понять глубже, здесь мы попытаемся передать время на вторую страницу с первой страницы.

Итак, здесь мы создаем две HTML-страницы и два связанных с ними JS-файла. В первом HTML-файле мы просто добавили заголовок и кнопку. Затем в файле app.js мы создали объект для Date() , а затем добавили событие нажатия на кнопку, где мы получили доступ к методу localStorage() .

Чтобы мы могли использовать его и сохранить дату с помощью localStorage.setItem() . Затем мы использовали этот window.document.location = ‘./index2.html’ ; чтобы установить целевое местоположение, где нам нужно получить доступ к этим данным. Наконец, мы должны запустить эту функцию, когда эта страница загружается с помощью document.addEventListener(‘DOMContentLoaded’, function()< init();>)

         

Click The Button To Go On Next Page

const init = (e) =>< let btn = document.querySelector("#item1"); let startTime = new Date(); btn.addEventListener('click', function()< localStorage.setItem('start-time', startTime.getTime()); window.document.location = './index2.html'; >); >; document.addEventListener('DOMContentLoaded', function()< init(); >);

Теперь мы добавили некоторые основные заголовки, а также добавим span с id, чтобы мы могли помещать в него данные, используя его ID. Затем в сценарии app2.js мы получим доступ к этим данным, используя этот метод localStorage.getItem(‘start-time’) . Теперь мы создали еще один объект Date() и просто вычитаем оба значения времени. И мы добавили вызов функции при загрузке нашей второй страницы.

         

Next Page

Here's The Amount of Time Passed: TIME

const init = (e) => < let spn = document.querySelector("#time"); let endTime = new Date(); let elapsedTime = endTime.getTime()- localStorage.getItem('start-time'); spn.innerHTML = elapsedTime; >document.addEventListener("DOMContentLoaded", function()< init(); >)

Передача значения JavaScript между HTML-страницами: строка запроса URL

Теперь давайте посмотрим на другой метод выполнения той же задачи — использование строки запроса URL. В файле app.js мы снова создали объект Date() и добавили такое же событие нажатия на эту кнопку. Здесь мы использовали window.document.location , где указали целевой HTML-файл, в котором мы будем получать доступ к этим данным. Кроме того, мы добавили ‘?startTime=’ +startTime.getTime() , чтобы эта строка передавалась как URL вместе со временем.

const init = (e) =>< let btn = document.querySelector("#item1"); let startTime = new Date(); btn.addEventListener('click', function()< window.document.location = './index2.html' + '?startTime=' + startTime.getTime(); >); >; document.addEventListener('DOMContentLoaded', function()< init(); >);

Теперь в файле app2.js мы создали еще один объект даты, из которого будем вычитать startTime . Затем мы получим время из строки URL, используя метод window.location.search() . И из этого нам просто нужно получить время или просто данные, для этого мы применим метод замены к этой строке URL. И мы добавили регулярное выражение, чтобы мы могли получить строку URL, кроме данных, и заменили ее пустой строкой.

Наконец, мы просто вычтем данные из текущего времени. Итак, этот метод следует использовать для передачи небольшого количества данных, потому что данные, которые мы передаем, будут отражены в URL-адресе.

"use strict" const init = (e) => < let spn = document.querySelector("#time"); let endTime = new Date(); console.log(endTime); let startTime = window.location.search.replace(/^.*?\=/,''); spn.innerHTML = endTime.getTime() - startTime; >document.addEventListener("DOMContentLoaded", function()< init(); >)

Источник

Как передать значение между страницами?

На одной странице я создал форму для ввода имени, e-mail и собственно текста сообщения. После нажатия на этой же странице кнопки «Отправить сообщение», открывается новая страница, в которой содержатся данные полей, заполненных в предыдущей. Как это сделать? Нашел в Интернете разные скрипты, но некоторые используют php. Я работал и с PHP, но когда я указываю полный путь, кнопка не хочет работать:

Ваше имя:

5 ответов 5

Нужно заполнить поля данными, переданными в строке запроса (у тебя только id ). Если использовать только javascript , то у новой страницы нужно добавить событие onload , в котором после загрузки страницы прочтешь переданные значения параметров и вставишь их в нужные поля. Для чтения параметров можно использовать функцию отсюда http://www.netlobo.com/url_query_string_javascript.html

Пишу ответ здесь, чтобы код был виден кодом. Первая страница:

  

Ваше имя:


Вторая (для учебных целей и с одним параметром можно обойтись и без доп. функции):

Источник

Обмен данными между HTML-страницами

Я хочу отправить некоторые данные с одной HTML-страницы на другую. Я отправляю данные через параметры запроса, такие как http://localhost/project/index.html?status=exist , Проблема этого метода в том, что данные остаются в URL. Есть ли какой-либо другой способ отправки данных через HTML-страницы с использованием JavaScript или jquery.

4 ответа

Почему вы не храните свои значения в объектах хранения HTML5, таких как sessionStorage или же localStorage Посетите HTML5 Storage Doc, чтобы получить более подробную информацию. Используя это, вы можете временно или постоянно хранить промежуточные значения локально, а затем обращаться к ним позже.

Чтобы сохранить значения для сеанса:

sessionStorage.getItem('label') sessionStorage.setItem('label', 'value') 
localStorage.getItem('label') localStorage.setItem('label', 'value') 

Таким образом, вы можете хранить (временно) данные формы между несколькими страницами, используя объекты хранения HTML5, которые вы можете даже сохранить после перезагрузки.

Я знаю, что это старый пост, но решил, что поделюсь своими двумя центами. @ Неджи прав в том, что вы можете использовать sessionStorage.getItem(‘label’) , а также sessionStorage.setItem(‘label’, ‘value’) (хотя он имел setItem параметры задом наперед, ничего страшного). Я гораздо больше предпочитаю следующее, я думаю, это более кратко:

var val = sessionStorage.myValue 
sessionStorage.myValue = 'value' 

Также следует отметить, что для хранения объектов JavaScript они должны быть разбиты на строки, чтобы их установить, и проанализированы, чтобы получить их, например:

sessionStorage.myObject = JSON.stringify(myObject); //will set object to the stringified myObject var myObject = JSON.parse(sessionStorage.myObject); //will parse JSON string back to object 

Причина в том, что sessionStorage хранит все как строку, так что если вы просто скажете sessionStorage.object = myObject все, что вы получаете, это [объектный объект], который не слишком вам помогает.

Источник

Читайте также:  Php date timezone setting php ini
Оцените статью