IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Affecter une valeur à une variable en instantané


Sujet :

JavaScript

  1. #1
    Membre actif
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Février 2022
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Février 2022
    Messages : 58
    Par défaut Affecter une valeur à une variable en instantané
    bonjour
    je connais presque rien en javascript et je voulais svp que vous m'aider a résoudre ce petit problème,
    ce que je veux faire c'est que je récupéré une valeur en instantanée pour l'affecter a une valeur en php svp

    c'est très simple pour vous alors que moi je glaire
    tous ce que je veux c'est des que la valeur de input change il l'affecte directement a $x
    et mois avec cette valeur je peux faire ce que je veux
    pour infos j'ai juste besoin de récupérer la valeur de l'input et l'affecter a x j'ai pas besoin d'afficher ni l'équation ni autre chose j'ai besoin du x pour plusieurs autre chose

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <input type="number" style="font-size: 25px !important;" id="x" name="x"  value="20" />
    <?php 
    $x = $x * 5 / 100 + 1 ;
    echo $x
    ?>
    je vous remercie beaucoup en avance

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 516
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 516
    Par défaut
    Bonjour,

    Tu as besoin d'un formulaire <form> et un bouton de soumission :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php $x = $_GET['x']??20;?>
    <form>
    	<input type="number" style="font-size: 25px !important;" id="x" name="x"  value="<?=$x;?>" />
    	<input type="submit" value="Ok" name="ok" />
    </form>
    <?php echo "x est :".$x; ?>

  3. #3
    Membre actif
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Février 2022
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Février 2022
    Messages : 58
    Par défaut
    je vous remercie beaucoup pour votre réponse
    malheureusement j'ai pas le choix de faire un bouton c'est pour sa que j'ai demander une fonction javascript
    que j'ai vu quelque fonction comme onkeyup sauf que jai pas pu l'utiliser (je savais pas comment l'utiliser)
    tous ce que je veux c'est que des que la valeur change mon $x change
    exemple si le client tape 10 dans le input directement $x deviens 10

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 209
    Par défaut
    Bonjour,
    tous ce que je veux c'est que des que la valeur change mon $x change
    exemple si le client tape 10 dans le input directement $x deviens 10
    mais de quel $x parles-tu, le $x de ton PHP ?

    JavaScript c'est côté client, ton navigateur
    PHP c'est côté serveur

  5. #5
    Membre actif
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Février 2022
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Février 2022
    Messages : 58
    Par défaut
    je vous remercie pour vos réponses et je vous explique la situation
    j'ai deux input une number et une hidden une fois le client clic sur le bouton sa prend la valeur du deuxième pour l'afficher
    sauf que je peux pas demander au client de faire le calcul donc j'ai créé cette input de type number pour que le client rentre sa valeur et que a la fin sa affiche la valeur que moi je veux (sa rajoute une commission)
    sauf que en php c'est pas dynamique donc appart si je demande au client de cliquer deux fois sur un bouton une pour le calcul et une pour l'affichage c'est pas agréable donc je cherche une solution pour que sa soit dynamique et automatique comme sa le client rentre la valeur dans la première, sa fait le calcul et sa rentre la valeur dans la deuxième sans que le client se rend compte du calcul.
    pour infos j'ai pas la main dur le bouton affichage ni la deuxième input (hidden) c'est pour sa que je cherche une solution en javascript ou en ajax si vous en avez
    je vous remercie par avance de vos repense si vous pouvez s'il vous plais m'aider

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 209
    Par défaut
    Il te faut donc faire un calcul automatique sur le oninput de ton <input type="number">.
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input type="number" id="id-input">
    <output id="id-output"></output>
    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    const oInput = document.getElementById("id-input");
    const oOutput = document.getElementById("id-output");
    oInput.addEventListener("input", () => {
      const valeur = oInput.value;
      oOutput.value = valeur + valeur * .2;  // par exemple
    });
    à adapter bien évidement !

  7. #7
    Membre actif
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Février 2022
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Février 2022
    Messages : 58
    Par défaut
    je vous remercie beaucoup sa fonctionne a merveille comme je le voulais

  8. #8
    Membre actif
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Février 2022
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Février 2022
    Messages : 58
    Par défaut
    je vous remercie beaucoup pour votre solution sauf que j'ai un petit souci sur la question


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oOutput.value = (valeur / 3) + valeur * 4 / 100 + 0.30 ;  // par exemple
    il m'affiche pas la bonne réponse voila le code dans son intégralité

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <input  type="number" style="font-size: 25px !important;" id="x" name="x"  step="any" min="1" max="30"   value= 20.99   />
    <?php  $x = 20.99 /  3 ; ?>
    <?php $x = $x + $x *  4 / 100 + 0.35 ; ?>
    <input type="text" style="font-size: 25px !important;" id="y" name="y"  step="any" min="1" max="30" value=<?php echo $x ?> />
    <script>
    const oInput = document.getElementById("x");
    const oOutput = document.getElementById("y");
    oInput.addEventListener("input", () => {
      const valeur = oInput.value;
      oOutput.value = valeur / 3 + valeur * 4 / 100 + 0.35 ;  // par exemple
    });
    </script>
    l'affichage php est 7.6265333333333 et celui du script si je tape la même valeur 8.186266666666667 j'ai rajouté et enlevé les parenthèses mais sa na par fonctionner je pense que je dois ajouter une ligne de plus pour la première division ? mais j'ai essayé sans succès
    j'aimerai bien garder le code php (value=<?php echo $x ?>) par ce que le script ne prend pas en compte la valeur par défaut saisie du départ si vous avez une solution pour sa aussi
    encore je vous remercie beaucoup pour votre aide

  9. #9
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 672
    Par défaut
    en php vous commencez par modifier la valeur de x donc vous ne faites pas le même calcul qu'en javascript.

  10. #10
    Membre actif
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Février 2022
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Février 2022
    Messages : 58
    Par défaut
    et comment je peux faire le même calcul svp ?

  11. #11
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 209
    Par défaut
    Citation Envoyé par TH3ROOT Voir le message
    et comment je peux faire le même calcul svp ?
    il te faut faire le même calcul tout simplement .

    Observe ce que tu as écrit et compare, cela revient à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    // d'un côté tu as
    $x = 20.99 /  3
    $x = $x + $x *  4 / 100 + 0.35
    console.log($x)
    // de l'autre
    $x = 20.99
    $x = $x / 3 + $x * 4 / 100 + 0.35
    console.log($x)
    il n'y a pas équivalence !

  12. #12
    Membre actif
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Février 2022
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Février 2022
    Messages : 58
    Par défaut
    je vous remercie beaucoup pour votre réponse
    Mais je n'ai pas pu intégrer ça à votre code si vous pouvez m'expliquer s'il vous plaît.
    et j'ai eu un petit souci de calcul ya t il un moyen d'arrondir les chiffres jusqu'à 2 chiffres après la virgule au lieu de 1.02965 que sa soit 1.03 ?
    je vous suis tellement reconnaissant

  13. #13
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 209
    Par défaut
    Regarde du côté de Number.prototype.toFixed() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    console.log($x.toFixed(2));

  14. #14
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    ou Math.round()
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  15. #15
    Membre actif
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Février 2022
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Février 2022
    Messages : 58
    Par défaut
    je suis trop nul je sais
    j'ai pas pu intégrée le calcul dans la fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <script>
    const oInput = document.getElementById("x");
    const oOutput = document.getElementById("y");
    oInput.addEventListener("input", () => {
      const valeur = oInput.value;
    x = x /  3 ;
    x = x + x *  4 / 100 + 0.35 ;
    console.log(x.toFixed(2))
      oOutput.value = x
    });
    </script>
    je m'excuse pour le dérangement et je vous remercie beaucoup d'avance

  16. #16
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 209
    Par défaut
    Je pense qu'il serait temps que tu reprennes les bases du langage, ceci dit sans vouloir t'offenser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    const oInput = document.getElementById("x");
    const oOutput = document.getElementById("y");
    oInput.addEventListener("input", () => {
      // lecture de la valeur
      let valeur = oInput.value;
      // division par 3
      valeur = valeur / 3;
      // calcul 
      valeur = valeur + valeur * 4 / 100 + 0.35;
      // affection avec arrondi à 2 décimales
      oOutput.value = valeur.toFixed(2);
    });

  17. #17
    Membre actif
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Février 2022
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Février 2022
    Messages : 58
    Par défaut
    Citation Envoyé par NoSmoking Voir le message
    Je pense qu'il serait temps que tu reprennes les bases du langage, ceci dit sans vouloir t'offenser
    vous avez tout a fait raison a savoir plus que 10 ans loin du domaine sa fait des effets

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] SQL: affecter à une variable une valeur venant d'un formulaire
    Par macmu dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 29/08/2016, 19h19
  2. Affecter à une variable Date une valeur choisie dans JdateChooser
    Par stracoma dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 02/05/2016, 00h51
  3. [XL-2013] Comment affecter à une variable la valeur d'une cellule du même nom ?
    Par DenisHen dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/10/2015, 14h16
  4. [XL-2013] Affecter la valeur d’une variable à une cellule vide sur une plage
    Par Hadi2015 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/02/2015, 14h40
  5. Réponses: 5
    Dernier message: 03/10/2011, 23h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo