使用javascript减法

时间:2011-07-05 07:29:38

标签: php javascript

以下编码是我的疑问。总费用值是从db获取的。目前我们已经付款了。现在我希望如果我在付费中输入任何值,则输入的值将从db值中减去,新值将显示在bal费用文本框中以及存储在db中。

我的编码是......

<HTML>
<HEAD>
<script language="javascript">
function doMath() 
{
    var oldbal= parseInt(document.getElementById('totalfees').value);
    var paid= parseInt(document.getElementById('paid').value);
    var totalfees = oldbal-paid;
    document.getElementById('totalfees').value = totalfees;
}
</script>

</HEAD>
<body>

<?php
//fteching query
include("db.php");
$billtype_id = $_GET['billtype_id'];
$result=mysql_query("select * from bill_type where billtype_id=$billtype_id");
while($res=mysql_fetch_array($result))
{
$totalfees=$res['totalfees'];
}
//inserting query
$sql=mysql_query("insert into fees_admin values totalfees='$balfees' WHERE billtype_id='$billtype_id'",$conn);


include("config.php");
$balfees=$_POST['totalfees'];
$sql=mysql_query("insert into fees_admin values totalfees='$balfees' WHERE billtype_id='$billtype_id'",$conn);
?>
//html form

<form name="form" method="post" action="<?php $_SERVER['PHP_SELF'];?>">
<table>
<tr>
  <td>Total Fees :</td> 
  <td><input name="total" type="text" id="oldbal" value="<?php echo $totalfees;?>" readonly="true" style="background-color:#FFFFFF"></td>
</tr> 
<tr>

  <td>Paid :</td>
  <td><input type="text" id="paid" name="paid" onKeyUp="doMath();"></td>
</tr> 
<tr>

  <td>Bal Fees</td>
  <td><input name="totalfees" type="text"  id="totalfees" readonly="true" style="background-color:#FFFFFF"></td>
</tr>
</table>
</form>

感谢阅读。请清除我的怀疑......

2 个答案:

答案 0 :(得分:0)

要清楚,输入元素将在您调用“value”时返回一个字符串。因此,在您的示例中,您需要将减法公式更改为:

var totalfees = parseFloat(oldbal) - parseFloat(paid);

如果不需要小数精度,可以使用parseFloat从字符串或parseInt创建一个float。

您可能还应该更改HTML代码以使DOM级别0事件“更改”而不是keyUp。它在各种不同的浏览器(桌面,移动设备,平板电脑)中更加一致。

答案 1 :(得分:0)

更改

var oldbal= parseInt(document.getElementById('totalfees').value);

var oldbal = parseInt(document.getElementById('oldbal').value);



功能应该看起来像

function doMath() 
{
    var oldbal = document.getElementById('oldbal').value;
    var paid = document.getElementById('paid').value;

    var totalfees = parseInt(oldbal) - parseInt(paid);

    document.getElementById('totalfees').value = totalfees;
}



我相信你正在检索错误的输入元素。