62 votes

Passez une valeur de variable javascript dans le type d'entrée valeur cachée

Je voudrais affecter la valeur du produit de deux nombres entiers dans un champ caché déjà présent dans le document html. Je pensais récupérer la valeur d'une variable javascript et ensuite la passer sur une entrée de type hidden. J'ai du mal à l'expliquer mais voici comment cela devrait fonctionner :

script Exemple

 <script type="text/javascript">
 function product(a,b){
      return a*b;
 }
 </script>

ci-dessus calcule le produit et je veux que le produit soit dans le champ caché.

<input type="hidden" value="[return value from product function]">

Comment cela est-il possible ?

122voto

Darin Dimitrov Points 528142

Vous pouvez donner un identifiant à votre champ caché :

<input type="hidden" id="myField" value="" />

puis lorsque vous voulez lui attribuer une valeur :

document.getElementById('myField').value = product(2, 3);

Assurez-vous que vous effectuez cette tâche après que le DOM ait été entièrement chargé, par exemple dans le fichier window.load événement.

9voto

gion_13 Points 15594

Si vous avez déjà cette entrée cachée :

function product(a, b) {
   return a * b;
}
function setInputValue(input_id, val) {
    document.getElementById(input_id).setAttribute('value', val);
}

Si ce n'est pas le cas, vous pouvez en créer un, l'ajouter au corps et ensuite lui donner une valeur :

function addInput(val) {
    var input = document.createElement('input');
    input.setAttribute('type', 'hidden');
    input.setAttribute('value', val);
    document.body.appendChild(input);
}

Et ensuite vous pouvez utiliser (selon le cas) :

addInput(product(2, 3)); // if you want to create the input
// or
setInputValue('input_id', product(2, 3));

3voto

Jarrett Widman Points 3677

Tu pourrais faire ça comme ça :

<script type="text/javascript">
     function product(a,b)
     {
     return a*b;
     }
    document.getElementById('myvalue').value = product(a,b);
 </script>

 <input type="hidden" value="THE OUTPUT OF PRODUCT FUNCTION" id="myvalue">

2voto

Nagaraj Raju Points 14

Champ caché :

<input type="hidden" name="year" id="year">

script :

<script type="text/javascript">
     var year = new Date();
     document.getElementById("year").value=(year.getFullYear());
</script>

1voto

nitin Points 11
<script type="text/javascript">
  function product(x,y)
  {
   return x*y;
  }
 document.getElementById('myvalue').value = product(x,y);
 </script>

 <input type="hidden" value="THE OUTPUT OF PRODUCT FUNCTION" id="myvalue">

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X