1

我想在表单字段中输入一个数字,并让它旁边的字段自动更新为数字的 2 倍。如果没有复选框之类的东西,我无法弄清楚如何做到这一点。

我有这个:

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

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

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

谢谢您的帮助!

4

3 回答 3

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>

小提琴

于 2013-07-11T03:05:47.187 回答
0

很简单。if(document.form1.field1.value!=''){ document.form1.field2.value=document.form1.field1.value; }

于 2013-07-11T03:19:31.870 回答
0

Onchange 或 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>

示例小提琴

于 2013-07-11T03:12:22.687 回答