2013-07-11 235 views
1

我想在表單域中輸入一個數字,並將其旁邊的域自動更新爲數字的兩倍。我無法弄清楚如何在沒有複選框的情況下做到這一點。將複製值從一個表單域複製到另一個沒有複選框的另一個表單域

我有這樣的:

var val = document.form1.field1.value 
    if (/^\s*$/.test(val)) { 
    } 
    else { 
    document.form1.field2.value = val * 2 
    } 

我認爲這會做的是檢查是否有FIELD1任何價值(否則我就跟字段顯示佔位符),如果它確實有它的值會使字段2 =字段1 * 2

我的目標是有字段2更新,因爲我鍵入字段1中的數字。

謝謝你的幫助!

+0

將您的代碼放入表單字段的'onkeyup'處理程序中。 – Barmar

回答

1

添加KEYUP處理程序,並解析值爲數字(它總是一個字符串),並乘以2:

<form id="form1"> 
    <input id="field1" onkeyup="fn(this)" /> 
    <input id="field2" /> 
</form> 

<script type="text/javascript"> 
    function fn(elem) { 
     var val = parseFloat(elem.value) * 2 || ''; 
     document.getElementById('field2').value = val; 
    } 
</script> 

FIDDLE

+0

真棒,謝謝!比我的方法簡單多了。 – SirBdon

0

平變化或的onkeyup,取決於如果您正在尋找更多比一位數字。

<form name="form1"> 
<input name="field1"type="text" value="" onchange="fieldChanged(this)"/> 
<input name="field2"type="text" value=""/> 
</form> 

<script type="text/javascript"> 
function fieldChanged(sender){ 
    if (parseInt(sender.value) != NaN){ 
    document.form1.field2.value = parseInt(sender.value) * 2; 
    { 
    else { 
    alert("Only numbers go there!"); 
    } 
} 
</script> 

EXAMPLE FIDDLE

0

很簡單。 012(document.form1.field1.value!=''){ document.form1.field2.value = document.form1.field1.value; }

相關問題