İki tam sayının çarpımının değerini html belgesinde zaten bulunan gizli bir alana atamak istiyorum. Bir javascript değişkeninin değerini almayı ve daha sonra bunu gizli bir giriş türüne geçirmeyi düşünüyordum. Açıklamakta zorlanıyorum ama bu şekilde çalışması gerekiyor:
<script type="text/javascript">
function product(a,b){
return a*b;
}
</script>
yukarıda ürünü hesaplıyor ve ürünün gizli alanda olmasını istiyorum.
<input type="hidden" value="[return value from product function]">
Bu nasıl mümkün olabilir?
Gizli alanınıza bir kimlik verebilirsiniz:
<input type="hidden" id="myField" value="" />
ve sonra değerini atamak istediğinizde:
document.getElementById('myField').value = product(2, 3);
Bu atamayı DOM tamamen yüklendikten sonra, örneğin window.load
olayında gerçekleştirdiğinizden emin olun.
eğer bu gizli girişe zaten sahipseniz:
function product(a, b) {
return a * b;
}
function setInputValue(input_id, val) {
document.getElementById(input_id).setAttribute('value', val);
}
değilse, bir tane oluşturabilir, gövdeye ekleyebilir ve ardından değerini ayarlayabilirsiniz:
function addInput(val) {
var input = document.createElement('input');
input.setAttribute('type', 'hidden');
input.setAttribute('value', val);
document.body.appendChild(input);
}
Ve sonra (duruma bağlı olarak) kullanabilirsiniz:
addInput(product(2, 3)); // if you want to create the input
// or
setInputValue('input_id', product(2, 3));