глобальная переменная не изменяется при вызове метода в JavaScript - PullRequest
0 голосов
/ 16 февраля 2012

Я хочу получить данные текстового поля, присутствующего в форме действия в index.html. Я думаю сделать с javascript, и если есть какой-либо другой способ получить данные формы в html, пожалуйста, укажите это.

Мой index.html

 <head><script type="text/javascript" src="js/storevalue.js"></script></head>
 <body>
 <form action="h.html" method="post">
 <input type="text" name="bran" value="Enter Brand/Molecule" id="searchstring"/>
 <input  type="submit" value="Brand" class="right" id="startsearchbutton" onclick="st_v();>
 </form>
 </body>

мой storevalue.js равен

 var b;
 function st_v(){b=document.getElementById('searchstring').value; }

 function valt(){
alert("in val="+window.b);//printing in val=undefined
           }

мой код h.html

 <script type="text/javascript" src="js/storevalue.js"></script>
 <script type="text/javascript" charset="utf-8">
 function successCB() {valt();}
 </script>

Ответы [ 4 ]

0 голосов
/ 17 февраля 2012

Хорошо, я нашел ссылку здесь http://www.thomasfrank.se/sessionvars.html, постоянные переменные javascript могут быть созданы с помощью этого сценария без использования cookie

0 голосов
/ 16 февраля 2012

Вы отправляете Пользователя на другую страницу, когда он нажимает кнопку отправки, поэтому при изменении страницы все отбрасывается.

Вам нужно / хотите изменить страницу?

Если вы не можете заменить кнопку отправки на

, вы можете использовать некоторую библиотеку AJAX для отправки поиска, а когда возвращаемые результаты возвращают их на текущую страницу (так каквы, кажется, новичок, я бы посоветовал вам использовать element.innerHTML = htmlCode)

Если вы измените страницу, вам может потребоваться наличие серверных сценариев, таких как PHP, для поиска.вам придется обработать URL h.html? bran = XXX и использовать его для создания новой HTML-страницы.

0 голосов
/ 16 февраля 2012

storevalue.js - это просто «библиотека», фактически она не будет хранить само значение. В index.html есть одна переменная "b", а в h.html - другая.

Обычно при отправке формы с использованием post ее поля читаются и обрабатываются на стороне сервера. Вы бы звонили h.php или что-то в этом роде.

0 голосов
/ 16 февраля 2012

Когда страница обновляется или перенаправляется, все данные JavaScript удаляются из памяти. Вы можете использовать куки, чтобы сделать данные доступными на разных страницах http://www.w3schools.com/js/js_cookies.asp

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