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 la passer à un champ de type hidden. J'ai du mal à l'expliquer mais voici comment cela devrait fonctionner :
<script type="text/javascript">
function product(a,b){
return a*b;
}
</script>
Le script ci-dessus calcule le produit et je veux que le produit soit dans un champ caché.
<input type="hidden" value="[return value from product function]">
Comment cela est-il possible ?
Vous pouvez donner un identifiant à votre champ caché :
<input type="hidden" id="myField" value="" />
et ensuite, quand vous voulez attribuer sa valeur :
document.getElementById('myField').value = product(2, 3);
Assurez-vous que vous effectuez cette affectation après que le DOM ait été entièrement chargé, par exemple dans l'événement window.load
.
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);
}
sinon, vous pouvez en créer une, l'ajouter au corps et lui attribuer 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));