Рейтинг:
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 + "¶2=" + 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 + "¶2=" + 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
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
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
Хорошо. Дамп кода - это не решение проблемы. Объясните, почему ваше решение лучше / отличается от других решений, опубликованных много лет назад.
Кстати, даже "базовый" код делает требуйте комментариев, особенно если вы пытаетесь объяснить кому-то, как что-то сделать