Je voudrais assigner la valeur du produit de deux nombres entiers dans un champ caché déjà dans le document html . Je pensais obtenir la valeur d'une variable javascript puis la transmettre à un type d'entrée masqué . I J'ai du mal à expliquer, mais voici comment cela devrait fonctionner:
<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 est-ce possible?
Vous pouvez donner un identifiant à votre champ caché:
<input type="hidden" id="myField" value="" />
et puis quand vous voulez assigner sa valeur:
document.getElementById('myField').value = product(2, 3);
Assurez-vous que vous effectuez cette affectation après le chargement complet du DOM, 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 un, l'ajouter au corps puis définir sa 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 les cas):
addInput(product(2, 3)); // if you want to create the input
// or
setInputValue('input_id', product(2, 3));
Vous pouvez 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">
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>
Consultez cette page jQuery pour quelques exemples intéressants montrant comment jouer avec l'attribut value et comment appeler it:
Sinon, si vous souhaitez utiliser jQuery plutôt que javascript pour transmettre des variables à une entrée quelconque, utilisez les méthodes suivantes pour set la valeur de l'entrée d'un événement click()
, submit()
et autres:
sur un événement; assigne ou set _ la valeur de l'entrée:
$('#inputid').val($('#idB').text());
où:
<input id = "inputid" type = "hidden" />
<div id = "idB">This text will be passed to the input</div>
En utilisant une telle approche, assurez-vous que l'entrée HTML ne spécifie pas déjà une valeur, ni un attribut désactivé, de toute évidence.
Faites attention aux différences entre .html()
et .text()
lorsqu’il s’agit de formulaires html.
<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">
ajouter un identifiant pour une entrée
var multi = product(2,3);
document.getElementById('id').value=multi;
//prompts for input in javascript
test=Prompt("Enter a value?","some string");
//passes javascript to a hidden field.
document.getElementById('myField').value = test;
//prompts for input in javascript
test2=Prompt("Enter a value?","some string2");
//passes javascript to a hidden field
document.getElementById('myField').value = test2;
//prints output
document.write("hello, "+test+test2;
maintenant c'est déroutant mais cela devrait marcher ...