Chiranthaka Sampath Ответов: 5

Передача значений данных JavaScript между 2 HTML-страницами.


У меня есть 2 HTML страницы а на 1-й HTML-странице есть 2 переменные JavaScript & я хочу передать значения от те 2 еще 2 переменные в 2-я HTML-страница- Я жду ответа . нет с помощью HTML 5.

Как я могу в состоянии сделать это?

Спасибо и с уважением,
Чирантхака

Peter Leow

Просто добавлен ответ на ваш дополнительный запрос.

5 Ответов

Рейтинг:
43

Peter Leow

См. пример, 100% javascript:
page1.html

<!DOCTYPE html>
<html>
<head>
<title>Acknowledgement</title>
</head>
<body>
<script>
var value1="value1";
var value2="value2";
var queryString = "?para1=" + value1 + "&para2=" + value2;
window.location.href = "page2.html" + queryString;
</script> 
</body>
</html>

page2.html
<!DOCTYPE html>
<html>
<head>
<title>Acknowledgement</title>
</head>
<body>
<h4>These are the data from page1.html.</h4>
<script>
 
var queryString = decodeURIComponent(window.location.search);
queryString = queryString.substring(1);
var queries = queryString.split("&");
for (var i = 0; i < queries.length; i++)
{
  document.write(queries[i] + "<br>");
}
 
</script> 
</body>
</html>

запуск page1.html в браузере и что вы видите?


Chiranthaka Sampath

Это сработало pal & я изменил исходный код, как показано ниже, чтобы получить значения из формы, но данные не прошли так, как ожидалось. Вместо этого была сброшена только форма. Исходный код находится ниже. Так не могли бы вы взглянуть на это еще раз?

<тело>

<скрипт>
передача функций(){
var firstDate=document.getElementsByName("firstDate");
ВАР secondDate=документ.getElementsByName("secondDate");
var queryString = "?para1=" + firstDate + "&para2=" + secondDate;
окно.местоположение.href = "SecondPage.html" + строка запроса;
}
</script>

<form önsubmit="passing()" >
в <тип входного="текст" идентификатор="firstDate" имя="firstDate" /&ГТ;&ЛТ;БР /&ГТ;
в <тип входного="текст" идентификатор="secondDate" имя="secondDate" /&ГТ;&ЛТ;БР /&ГТ;
в <тип входного="представить" значение="отправить" /&ГТ;
</форма>

</body>

Спасибо.

Peter Leow

Почему вы не упомянули, что используете форму в первую очередь, тогда я бы направил вас к моей победившей статье: http://www.codeproject.com/Articles/761123/Beginners-Guide-to-HTML-CSS-Formidable-Forms-with который покрыл это.
Во всяком случае, я предлагаю:
1. удалить все JavaScript из page1.html
2. Измените тег формы следующим образом
&ЛТ;действие формы="page2.html" метод="получить"и GT;
Еще какие-то сомнения, читайте мою статью.

Chiranthaka Sampath

Теперь я хочу сохранить эти 2 значения в 2 переменные JavaScript, называемые sDate и eDate. Тогда как же мне это сделать? Мне удалось отредактировать заявление на второй странице, как показано ниже.

var queryString = decodeURIComponent(window.расположение.поиск);
document.write(строка запроса);

Но это дало мне выход, как показано ниже.

?firstDate=Today+is&secondDate=11.07.2014

Теперь я хочу передать эти 2 значения в sDate &edate. Итак, что же мне следует изменить в будущем? SecondPage.html Пейдж?

Chiranthaka Sampath

Теперь 2 значения firstDate & secondDate находятся в URL-адресе страницы как 'SecondPage.html-что?firstDate=01%2F01%2F2016&secondDate=05%2F05%2F2016'. Теперь я хочу добавить значения firstDate &secondDate в две отдельные переменные в таблице. SecondPage.html. Эти переменные являются переменными JavaScript. Тогда, приятель, как я могу это сделать?

Chiranthaka Sampath

Теперь я хочу сохранить эти 2 значения в 2 переменные JavaScript, называемые sDate и eDate. Тогда как же мне это сделать? Мне удалось отредактировать заявление на второй странице, как показано ниже.

var queryString = decodeURIComponent(window.расположение.поиск);
document.write(строка запроса);

Но это дало мне выход, как показано ниже.

?firstDate=Today+is&secondDate=11.07.2014

Теперь я хочу передать эти 2 значения в sDate &edate. Итак, что же мне следует изменить в будущем? SecondPage.html Пейдж?

Рейтинг:
2

Dhrisya P Nair

Попробовать это..

В example1.html:

a href="example2.html?myVar1=42&myVar2=66" >Ссылка
/a>


// Адаптировано из примеров на домашней странице Querystring.
var qs = новая строка запроса();
var v1 = qs.get("myVar1");
var v2 = qs.get("myVar2");


Chiranthaka Sampath

Если я нажму на "ссылку", то значения будут переданы, не так ли?

Рейтинг:
2

Member 13990792

очень просто...

чтобы передать параметр
(страница 1)

let urlParams = new URLSearchParams(window.location.search);
window.open('url' + urlParams);

чтобы получить параметр
(стр. 2)
let myParamVar = urlParams.get('myParam');

(let это в основном лучшая версия var):
тогда использовать:
let bod = document.getElementByTagName('body')[0];
bod.onload = function();

function([optional params]) {

    //do something here

}

Как это работает?


Richard Deeming

То URLSearchParams объект не поддерживался ни в одном крупном браузере на момент публикации этого вопроса.

Chrome и Firefox добавили поддержку в 2016 году; Safari в 2017 году; и Edge в 2018 году. Internet Explorer по-прежнему не поддерживает API.

Кроме того, использование строки запроса уже было предложено в принятом решении.

Рейтинг:
1

Chiranthaka Sampath

Твоя помощь оценена по достоинству, приятель, но это не то, чего я хотел. Потому что я уже сделал то, что сказал "Питер Леоу" в своем решении. Теперь я хочу получить конкретные значения из URL-адреса, то есть startDate &endDate & передать их в 2 переменные JavaScript. Тогда как же я могу это сделать?

Рейтинг:
1

Member 14886040

<html>
<head>
<title>Solution</title>
</head>
<body>
<form action = "" name = "myForm" onsubmit = "aa();">
Name ::
<input type="text"name="fname"><br>
Email::
<input type="text"name="email">
<input type = "submit" value = "Submit" />
</form>
<script>

function aa()
{
var value1=document.myForm.fname.value;
var value2=document.myForm.email.value;
var queryString = "?para1=" + value1 + "¶2=" + value2;
window.open("page2.html" + queryString);
}
</script> 
</body>
</html>



Страница 2
<html>
<head>
<title>value</title>
</head>
<body>
<h4>From page1.html.</h4>
<script>
 
var queryString = decodeURIComponent(window.location.search);
queryString = queryString.substring(1);
var queries = queryString.split("&");
for (var i = 0; i < queries.length; i++)
{
  document.write(queries[i] + "<br>");
}
 
</script> 
</body>
</html>


CHill60

Раскомментированный дамп кода - это не решение проблемы!

Member 14886040

Базовый код не требует комментариев

CHill60

Хорошо. Дамп кода - это не решение проблемы. Объясните, почему ваше решение лучше / отличается от других решений, опубликованных много лет назад.
Кстати, даже "базовый" код делает требуйте комментариев, особенно если вы пытаетесь объяснить кому-то, как что-то сделать