2011-10-14 50 views
56

Tôi muốn chỉ định giá trị sản phẩm của hai số nguyên vào một trường ẩn đã có trong tài liệu html. Tôi đã suy nghĩ về việc nhận được giá trị của một biến javascript và sau đó vượt qua nó trên một loại đầu vào ẩn. Tôi đang gặp một thời gian khó khăn để giải thích nhưng đây là cách nó nên làm việc:Chuyển giá trị biến javascript vào giá trị ẩn loại đầu vào

Script Ví dụ

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

trên tính sản phẩm và tôi muốn sản phẩm được trong lĩnh vực ẩn.

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

Làm cách nào có thể?

Trả lời

101

Bạn có thể cung cấp cho lĩnh vực ẩn của bạn một id:

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

và sau đó khi bạn muốn gán giá trị của nó:

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

Hãy chắc chắn rằng bạn đang thực hiện nhiệm vụ này sau khi DOM đã được được tải đầy đủ, ví dụ như trong sự kiện window.load.

+0

trông giống như câu hỏi hw cho tôi – Quincy

+0

haha, và tôi quên mất hw của tôi. Cảm ơn người đàn ông. – KaHeL

+3

câu trả lời hay nhất là câu trả lời đơn giản nhất. – Julian

1

thêm một số id cho một đầu vào

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

nếu bạn đã có đầu vào ẩn:

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

nếu không, bạn có thể tạo một, thêm nó vào cơ thể và sau đó thiết lập giá trị của nó :

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

Và sau đó bạn có thể sử dụng (tùy từng trường hợp):

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

Bạn có thể làm điều đó như thế này:

<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

Hidden Dòng:

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

Script:

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

Check-out trang jQuery này cho một số ví dụ thú vị về cách chơi với các thuộc tính giá trị, và làm thế nào để gọi nó:

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

Nếu không - nếu bạn muốn sử dụng jQuery hơn javascript trong việc thông qua các biến để một đầu vào của bất cứ loại nào, sử dụng sau đây để thiết giá trị của đầu vào trên một sự kiện click(), submit() et al:

trên một số sự kiện; gán hoặc thiết giá trị của đầu vào:

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

nơi:

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

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

Sử dụng một cách tiếp cận tương tự, đảm bảo đầu vào html không đã chỉ định một giá trị, hoặc một thuộc tính tàn tật , chắc chắn.

Hãy coi chừng sự khác biệt giữa việc betwen .html().text() khi xử lý biểu mẫu html.

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; 

bây giờ điều này là khó hiểu nhưng điều này nên làm việc ...

+1

Hãy cố gắng bớt bối rối trong câu trả lời của bạn trong tương lai :) – Ortund

Các vấn đề liên quan