繁体   English   中英

使用JavaScript在HTML中添加多个文本框

[英]Adding multiple text boxes in html using javascript

我试图添加多个文本框的整数值和总和要存储在另一个文本框中。

<script>
function updatesum(){
cash =  parseInt(document.rent_form.cash.value,10);
card = parseInt(document.rent_form.card.value,10);
online = parseInt(document.rent_form.online.value,10);
deduction = parseInt(document.rent_form.deduction.value,10);
actAmount    = parseInt(document.rent_form.actAmount.value,10);
tot = actAmount - (cash+card+online+deduction);
document.rent_form.bal.value = tot;
}
</script>

我正在显示名称为“ bal”的文本框中显示的NaN值

<form class="form-horizontal" name="rent_form" id="rent_form" action="php/tenantTable.php" 
method="POST">
<input type="text" id="act_rent_amount" name="actAmount" class="input-xlarge" placeholder="" 
value="<?php echo ($row['rent_amount']); ?>" style="visibility: hidden">
<input type="text" name="cash" onChange="updatesum()" value="0">
<input type="text" name="card" onChange="updatesum()" value="0">
<input type="text" name="online" onChange="updatesum()" value="0">
<input type="text" name="deduction" onChange="updatesum()" value="0">
<input type="text" id="bal" name="bal">

这是一个链接

如果要读取输入的值,则需要使用document.getElementById("inputid") 所以代替

cash =  parseInt(document.rent_form.cash.value,10);

你需要使用

cash =  parseInt(document.getElementById("cash").value,10);

您还需要给所有输入字段一个ID。 如果要使用名称,则需要使用getElementsByName()[0] ,它返回具有该名称的第一个元素(但是请使用ID,它更准确且更易于阅读)。

但是,由于您具有5次相同的逻辑序列,因此我会稍有不同,将其包装到一个函数中:

function ParseElementValue(elementName){
    return parseInt(document.getElementById(elementName).value,10);
}

并这样调用:

cash = ParseElementValue("cash");
card = ParseElementValue("card");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM