J'ai deux pages - "page 1" et "page 2". Sur la page 1, il y a une zone de texte avec une valeur de par exemple. 100 et un bouton à la fin.
En appuyant sur le bouton, je souhaite que javascript enregistre la valeur de la zone de texte dans une variable globale (?) Et passe à la page 2. Avec "window.onload", je souhaite une seconde fonction Javascript pour alerter la valeur enregistrée à la page1.
Voici mon code Javascript:
<script type="text/javascript">
var price; //declare outside the function = global variable ?
function save_price(){
alert("started_1"); //just for information
price = document.getElementById('the_id_of_the_textbox').value;
alert(price); //just for information
}
<script type="text/javascript">
function read_price(){
alert("started_2");
alert(price);
}
Sur "page 1", j'ai ce bouton d'envoi avec:
<input class="button_send" id="button_send" type="submit" value="Submit_price" onclick="save_price();"/>
Il démarre la fonction Javascript et me redirige correctement vers ma page2.
Mais avec cela sur la deuxième page:
window.onload=read_price();
Je reçois toujours une valeur "indéfinie" du prix variable global.
J'ai beaucoup lu sur ces variables globales. Par exemple. à cette page: Problème avec la variable globale .. Mais je ne peux pas le faire fonctionner ...
Pourquoi ça ne marche pas?
Sans lire votre code mais simplement votre scénario, je résoudrais en utilisant localStorage
. Voici un exemple, je vais utiliser Prompt()
pour faire court.
Sur la page1:
window.onload = function() {
var getInput = Prompt("Hey type something here: ");
localStorage.setItem("storageName",getInput);
}
Sur la page2:
window.onload = alert(localStorage.getItem("storageName"));
Vous pouvez également utiliser des cookies, mais localStorage autorise beaucoup plus d'espaces et ceux-ci ne sont pas renvoyés aux serveurs lorsque vous demandez des pages.
Votre meilleure option ici est d’utiliser la chaîne de requête pour «envoyer» la valeur.
comment obtenir une valeur de chaîne de requête en utilisant javascript
Si ceci est autre chose qu'un exercice d'apprentissage, vous voudrez peut-être en examiner les implications pour la sécurité.
Les variables globales ne vous aideront pas ici car une fois la page rechargée, elles sont détruites.
Vous avez plusieurs options différentes: