Partage
  • Partager sur Facebook
  • Partager sur Twitter

Ecrire l'ip dans une value

write ip into input value

    8 septembre 2019 à 19:44:17

    Bonjour,

    Je souhaiterai écrire l'adresse IP du visiteur dans un input (caché).

    Pour ce faire

    <input name="ip" type="hidden" value="vide">
    
    <!-- Récup IP-->
    <script type="application/javascript">
    function getIP(json) 
    {
      document.getElementsByName(ip).value = json.ip;
    }
    </script>">
    <script type="application/javascript" src="https://api.ipify.org?format=jsonp&callback=getIP"></script>

    Mais quand j'envoie le formulaire, la value reste "vide".

    Une idée?

    PS:note aux petits malins, oui en PHP c'est facile à faire, sauf que là, je ne peux pas utiliser de PHP ;)



    -
    Edité par Alex4gous_83 8 septembre 2019 à 19:45:19

    • Partager sur Facebook
    • Partager sur Twitter

    " Le flambeau de la critique s'allume plus souvent pour détruire que pour éclairer. "

      9 septembre 2019 à 10:43:13

      Salut,

      document.getElementsByName("ip")

      Ceci renvoi une liste d'élément qui ont le name "ip" (d'ailleurs, il faut que ça soit une string en paramètre). Tu as plusieurs solution, soit tu en as plusieurs sur ta page, tu peux donc parcourir cette liste à l'aide d'une simple boucle, soit sélectionner l'index de cette liste directement (j'aime pas trop) soit désigner cette input par un id plutôt qu'un name. Voici les solutions proposées : 

      function getIP(json) {
        const elName = document.getElementsByName("ip");
        const elIp = document.getElementById("ip");
      
        elName.forEach((el, index) => {
        	return el.value = json.ip
        })
        
        elName[0].value = json.ip; 
        
        elIp.value = json.ip;
      }

      Voila :) 

      • Partager sur Facebook
      • Partager sur Twitter
        9 septembre 2019 à 19:02:25

        Salut Lucatorze,

        Merci pour ta réponse :)

        Il doit y avoir un truc qui m'échappe.

        Pour plus de clarté j'avais opté pour l'une de tes solutions la plus simple.

        	function getIP(json) 
        {
          const elIp = document.getElementById("demo");
          elIp.value = json.ip;
          elIp.innerHTML = json.ip; // Ici seulement pour la vérif
        }

        la fonction charge bien les données avec un .innerhtml, mais rien du tout avec .value

        -
        Edité par Alex4gous_83 9 septembre 2019 à 19:02:47

        • Partager sur Facebook
        • Partager sur Twitter

        " Le flambeau de la critique s'allume plus souvent pour détruire que pour éclairer. "

          10 septembre 2019 à 15:05:07

          Salut, 

          Est ce que tu as bien rajouté l'id "demo" sur ton élément HTML ? comme ceci : https://jsfiddle.net/gw2ro4qm/

          • Partager sur Facebook
          • Partager sur Twitter
            12 septembre 2019 à 23:04:54

            oui msieur ^^ Mais non ça fonctionne toujours pas

            Bon aprés j'ai fais autrement, un textarea puis j'écris dedans, avec un display hidden. C'est pas beau, mais ça marche :p

            Merci Lucatorze ++

            • Partager sur Facebook
            • Partager sur Twitter

            " Le flambeau de la critique s'allume plus souvent pour détruire que pour éclairer. "

            Anonyme
              13 septembre 2019 à 0:23:02

              Quel était l'élément avec l'ID demo ? Ru ne peux pas utiliser value n'importe où.

              • Partager sur Facebook
              • Partager sur Twitter
                13 septembre 2019 à 9:32:06

                un input:

                <input name="ip" type="hidden" value="vide">



                • Partager sur Facebook
                • Partager sur Twitter

                " Le flambeau de la critique s'allume plus souvent pour détruire que pour éclairer. "

                Anonyme
                  13 septembre 2019 à 11:20:37

                  Je ne vois pas d'id. https://jsfiddle.net/L81jet0h/ marche donc il n'y a pas de raison que ça plante chez toi.

                  • Partager sur Facebook
                  • Partager sur Twitter
                    13 septembre 2019 à 21:11:48

                    mystère et boule de gomme, sinon oui il y avait bien l'id (j'ai juste oublié de le mettre dans l'exemple)

                    Merci en tout cas

                    • Partager sur Facebook
                    • Partager sur Twitter

                    " Le flambeau de la critique s'allume plus souvent pour détruire que pour éclairer. "

                    Ecrire l'ip dans une value

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown