Как я могу передать значение с одной HTML-страницы на другую, используя JavaScript? - PullRequest
17 голосов
/ 01 сентября 2011

Это моя первая HTML-страница:

<!--first.html-->   
<html>
    <body>
    <div data-role="page" data-theme="a" data-url="first" id="first"> 
        <form id="form1" name="form2" action="checking.html">
        <input type="text" name="txtFileName" id="txtFileName"/>
       <!-- <button onClick="uploadFile();">Upload</button> -->
       <input type="hidden" name="hidden1" value="">
       <br><input type="submit"  value="Send me your name!"  onClick="submitform();"><br>
       </form>
       <script type="text/javascript">
       function submitform()
       {
         document.forms.form1.hidden1.value=1;
         alert("i am working");

        document.form1.submit();
       }
    </script>

        </div>
    </body>
</html>

Это моя вторая HTML-страница:

<!-- second.html -->
<html>
    <head>
    </head>
    <body> 
<h1>Javascript call after page loaded</h1>

<script>
function getQueryVariable2(variable) { 
  var query = window.location.search.substring(1); 
  document.write(query);
  var vars = query.split("&"); 
  document.write("<br />");
  document.write(vars);

  for (var i=0;i<vars.length;i++) { 
    var pair = vars[i].split("="); 
    if (pair[0] == variable) { 
      return pair[1]; 
    }
  } 
} 


document.write("<br />txtFileName = " + getQueryVariable2("txtFileName"));
document.write("<br />hid1 = " + getQueryVariable2("hid1"));
</script>
hellllo
</body>

Здесь я хочу отобразить содержимое hidden1 из first.html.Пожалуйста, предложите мне, какой код я должен использовать для этого.

Ответы [ 4 ]

8 голосов
/ 03 сентября 2011

в HTML5 вы можете использовать сеанс для передачи объекта со страницы на другую:

1 - создать сессию

sessionStorage.setItem('key', 'value');

2- чтение сессии:

sessionStorage.getItem('key')

проверьте это пример

5 голосов
/ 01 сентября 2011

Вероятно, в вашем случае лучше всего использовать такие параметры GET, как:

http://mysite//second.html?myparams=value

или, если это важные или большие данные - используйте POST

1 голос
/ 01 сентября 2011

Нашел решение для вас, чтобы разобрать переменные GET:

// Read a page's GET URL variables and return them as an associative array.
function getUrlVars()
{
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }
    return vars;
}

Получение параметров и значений URL с помощью jQuery

0 голосов
/ 11 августа 2014

Если вы не используете html5, у вас есть следующие способы передачи значения из одного html в другой - QueryString / GET / Cookies.

HTML5 предоставляет два объекта localStorage и sessionStorage для сохранения данных клиента. Оба позволяют пользователю хранить данные на локальном компьютере. Предоставляет два метода - getItem ('Key') и setItem ('Key', 'Value') или мы можем просто сохранить данные в массиве localStorage или sesionStorage;

// Store
localStorage.setItem("lastname", "abc");
// Retrieve
document.getElementById("result").innerHTML = localStorage.getItem("lastname");

Объект sessionStorage похож на объект localStorage за исключением того, что он хранит данные только для одного сеанса. Данные удаляются, когда пользователь закрывает окно.

чтобы удалить любой предмет из сессии:

localStorage.removeItem("lastname");

для хранения в виде массива:

for (item in items) {
   localStorage[item] = AnyArray[item];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...