我想在表单字段中输入一个数字,并在其旁边的字段自动更新为该数字的2倍。如果没有像复选框那样的话,我无法弄清楚如何做到这一点。
我有这个:
var val = document.form1.field1.value
if (/^\s*$/.test(val)) {
}
else {
document.form1.field2.value = val * 2
}
我认为这样做会检查field1是否有任何值(否则我只想显示占位符的字段),如果它确实有值,则会使field2 = field1 * 2
我的目标是在field1中键入数字时更新field2。
感谢您的帮助!
答案 0 :(得分: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>
答案 1 :(得分: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>
答案 2 :(得分:0)
非常简单。 如果(document.form1.field1.value!= ''){ document.form1.field2.value = document.form1.field1.value; }