我想在表单字段中输入数字,并使其旁边的字段自动更新为数字的2倍。如果没有复选框,我无法弄清楚该如何做。

我有这个:

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


我认为这将是检查field1是否具有任何值(否则,我只是希望这些字段显示占位符),并且如果确实具有一个值,它将使field2 = field1 * 2

我的目标是在输入field1的数字时更新field2。

谢谢您的帮助!

最佳答案

添加一个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

10-01 01:23
查看更多