Accéder à une variable hors de la function?
Résolu
chasseral1607
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
chasseral1607 Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
chasseral1607 Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
J'ai un formulaire comme ceci:
<form method="post">
<input id="a" name="a" value="4"/>
<input id="b" name="b" value="2"/>
<input type="submit" value="Calculer" onclick="GetValueInput('a'),GetValueInput('b')"/>
</form>
Lors du clic, je récupère la valeur comme ceci:
<script type="text/javascript">
function GetValueInput(id){
var lol = document.getElementById('a').value;
console.log('lol:'+lol);
return lol;
}
console.log ( lol );
</script>
le log dans la fonction donne bien la valeur de 4, mais par contre le log en dehors de la fonction est undefined!
Comment récupérer une variable hors d'un fonction lorsqu'on l'emploie dans le formulaire?
J'ai un formulaire comme ceci:
<form method="post">
<input id="a" name="a" value="4"/>
<input id="b" name="b" value="2"/>
<input type="submit" value="Calculer" onclick="GetValueInput('a'),GetValueInput('b')"/>
</form>
Lors du clic, je récupère la valeur comme ceci:
<script type="text/javascript">
function GetValueInput(id){
var lol = document.getElementById('a').value;
console.log('lol:'+lol);
return lol;
}
console.log ( lol );
</script>
le log dans la fonction donne bien la valeur de 4, mais par contre le log en dehors de la fonction est undefined!
Comment récupérer une variable hors d'un fonction lorsqu'on l'emploie dans le formulaire?
A voir également:
- Accéder à une variable hors de la function?
- Apparaitre hors ligne instagram - Guide
- Gps hors ligne - Guide
- Comment accéder à wetransfer gratuitement ? - Guide
- Fenêtre hors écran windows 11 - Guide
- Apparaitre hors ligne whatsapp - Guide
3 réponses
Normal les variables sont bien locale à une fonction en javascript.
Elles n'existent pas en dehors.
D'ailleurs vu qu'il y a l'instruction return ça suffit comme ceci:
Mais bon ce n'est pas la bonne façon de faire ni pour la gestion du click ni pour récupérer les valeurs d'un formulaire.
Il y a plus simple, plus rapide, plus efficace et plus propre.
Pour le click on peut utiliser un écouteur sur le formulaire (directement sur le bouton ou avec l'événement onSubmit) et pour récupérer les valeurs des champs simplement les lister dans un (variable de) tableau.
Et:
http://stackoverflow.com/questions/11810874/how-to-get-an-input-text-value-in-javascript
Elles n'existent pas en dehors.
D'ailleurs vu qu'il y a l'instruction return ça suffit comme ceci:
<script> function GetValueInput(id){ var lol = document.getElementById('a').value; console.log('lol:'+lol); return lol; } console.log ( GetValueInput('a') ); //ou bien var valeur_de_a=getValueInput('a'); console.log(valeur_de_a); </script>
Mais bon ce n'est pas la bonne façon de faire ni pour la gestion du click ni pour récupérer les valeurs d'un formulaire.
Il y a plus simple, plus rapide, plus efficace et plus propre.
Pour le click on peut utiliser un écouteur sur le formulaire (directement sur le bouton ou avec l'événement onSubmit) et pour récupérer les valeurs des champs simplement les lister dans un (variable de) tableau.
Et:
http://stackoverflow.com/questions/11810874/how-to-get-an-input-text-value-in-javascript
Merci de vos réponses.
Je me suis rendu compte que cette manière de faire était vraiment pas optimale.
J'ai cherché à détecter l'événement on click sur un élément puis agir en fonction de l'événement.
Voici ce que j'ai fait:
Et le résultat sur https://jsfiddle.net/Larix/6w18ffbf/
Je me suis rendu compte que cette manière de faire était vraiment pas optimale.
J'ai cherché à détecter l'événement on click sur un élément puis agir en fonction de l'événement.
Voici ce que j'ai fait:
<form method="post"> <input id="a" name="a" value="4" /> <input id="b" name="b" value="2" /> <input id="calcul" value="Calculer" type="button" /> </form> <div id="div">Coucou, je suis le contenu du div!</div> <h2 id="resultat"></h2>
var calcul = document.getElementById('calcul'); // récupérer l'élément // function à exécuter lorsque l'événement est acitvé function myFunction() { var a = document.getElementById('a'); var b = document.getElementById('b'); var div = document.getElementById('div'); document.getElementById('resultat').innerHTML = 'A:' + a.value + '<br />B:' + b.value + '<br />div: ' + div.innerHTML; } // enregistement du onclick de l'événement calcul.onclick = myFunction;
Et le résultat sur https://jsfiddle.net/Larix/6w18ffbf/