2011-10-14 171 views
56

我想将两个整数的乘积值分配到已经在html文档中的隐藏字段。 我正在考虑获取JavaScript变量的值,然后将其传递给隐藏的输入类型。 我有一个很难解释,但是这是它如何工作:将javascript变量值传递给输入类型隐藏值

脚本示例

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

上述计算的产品,我希望产品在隐藏字段。

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

这怎么可能?

回答

101

你可以给你的隐藏字段的ID:

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

,然后当你想转让其价值:

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

确保在执行此任务的DOM之后一直完全加载,例如在window.load事件中。

+0

看起来像硬件问题对我来说 – Quincy

+0

哈哈,我忘了我的硬件。谢啦。 – KaHeL

+3

最好的答案是最简单的答案。 – Julian

1

添加一些ID为输入

var multi = product(2,3); 
document.getElementById('id').value=multi; 
8

,如果你已经有一个隐藏的输入:

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

如果没有,你可以创建一个,把它添加到身体,然后将它的值:

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

然后你就可以使用(视情况而定):

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

你可以是这样做的:

<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"> 
1
<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"> 
2

隐藏字段:

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

脚本:

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

看看这个jQuery的页面,一些有趣的例子如何同属性的值,并发挥如何呼叫它:

http://api.jquery.com/val/

否则 - 如果你想在传递变量到任何类型的输入使用jQuery而不是JavaScript中,使用以下方法来设置输入的上一个事件click()submit()等人的值:

在某些事件;分配或设置输入的值:

<input id = "inputid" type = "hidden" /> 

<div id = "idB">This text will be passed to the input</div> 

使用这样的方法,确保HTML输入中没有指定的值,或disabled属性:其中

$('#inputid').val($('#idB').text()); 

,显然。

当处理html表单时,请注意.html().text()之间的差异。

0
//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; 

现在这是混乱的,但这应该工作...

+1

请尽量不要在以后的答案中混淆你的答案:) – Ortund

相关问题