Изменить значение переменной в js из HTML JavaScript? - PullRequest
0 голосов
/ 02 марта 2012

Мне нужно, чтобы сообщество помогло мне со следующим:

Я определил переменную x=1 в моем файле js. У меня есть 2 HTML-файла, которые используют эту переменную ( 1.html и 2.html ). Я хочу использовать событие onclick в 1.html , чтобы навсегда изменить значение переменной x на 2, чтобы при использовании переменной x в 2.html это значение 2, а не 1.

Это то, что у меня есть в java.js файле:

x=1;

Это в 1.html :

<html>
    <head>
        <script type="text/javascript" src="java.js">
        </script>
    </head>
    <body>
        <input type="button" value="Change x" onClick="x=4">
            <p id="iz"></p>
    </body>
</html>

Это в 2.html :

<html>
    <head>
        <script type="text/javascript" src="java.js">
        </script>
    </head>
    <body>
        <input type="button" value="Change x" onClick="x=x+1">
            <p id="iz"></p>
    </body>
</html>

Результат кнопки в 2.html должен быть 5.

Ответы [ 6 ]

2 голосов
/ 02 марта 2012

JavaScript не работает так. Между страницами нет постоянства без использования файлов cookie или передачи состояния на сервер.

Если вы перейдете к foo.html и установите var foo = 1, а затем перейдете к bar.html, foo не будет установлен.

0 голосов
/ 21 июня 2012

Ваши входные теги не закрыты, что не может быть правильным.Исправьте это, прежде чем искать другие причины ошибок в вашем коде:

<input type="button" value="Change x" onClick="x=4">

Возможно, должно быть:

<input type="button" value="Change x" onClick="x=4"/>
0 голосов
/ 02 марта 2012

На каждой из ваших страниц она набирает x=1. То, что вы меняете переменную на одной странице, не означает, что ее увидят на другой странице. Здесь вам нужно передать переменные на другие страницы, используя GET или POST, файлы cookie или локальное хранилище

0 голосов
/ 02 марта 2012

Это не нормальное поведение для JavaScript, потому что установленные вами значения будут сохраняться в течение любой страницы. Вероятно, вы захотите сохранить значение x на сервере, сохранить его в файле cookie или сохранить в localStorage.

0 голосов
/ 02 марта 2012

В java-скрипте нет постоянной переменной, как вы хотите, вы должны использовать куки, серверный подход или локальное хранилище, предлагаемое в html5

0 голосов
/ 02 марта 2012

Краткий ответ, вы не можете использовать только JavaScript - Интернет stateless.

Тем не менее, можно использовать cookie или local storage в качестве резервного хранилища для хранения значения. Первоначально установив его на 1, любые последующие изменения влияют на резервное хранилище и отражают правильное значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...