0

Hi Friends

I am using dynamic text box, i want to calculate the amount from value of rate in the text box and qty

Pls help me how to solve it...

<?php
	include("config.php");
?>
<script type=text/javascript>
function multiply(){
a = document.getElementById("rate").value;
b = document.getElementById("qty").value;
c = a*b;
amt = 
alert(c);
}
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>

</head>

<body>
<form action="" method="get" name="test">
<table width="800" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td align="center">S.No</td>
    <td align="center">Item Name</td>
    <td align="center">Item Code</td>
    <td height="30" align="center">Rate</td>
    <td align="center">QTY</td>
    <td align="center">Amount</td>
    </tr>
  <tr>
  <?php $desr="select * from site_rate where category_code='EWS001' AND sitename='Amber' order by item_code";
		//echo $desr;
	  	$r=mysql_query($desr,$conn);
	  	$i=1;
		while($m=mysql_fetch_array($r))
		{
			?>
    <td><?php echo $i; ?></td>
    <td><textarea name="cat_item" cols="25" rows="2"><?php echo $m['category_item'];?></textarea></td>
    <td><?php echo $m['item_code'];?></td>
    <td><input name="rate" type="text" id="rate"/></td>
    <td><input name="qty" type="text" id="qty" onchange="multiply()"/></td>
    <td><input name="amt" type="text" /></td>
    </tr><?php $i++; } ?>
</table>

</form>

</body>
</html>
2
Contributors
5
Replies
7
Views
6 Years
Discussion Span
Last Post by edwinhermann
0

You cannot have multiple tags with the same id. Your code will output multiple instances of <input id="rate"> and <input id="qty">.

You should serialise them, like this:

<?php
	include("config.php");
?>
<script type=text/javascript>
function multiply(id){
var a;
var b;
var c;
a = document.getElementById("rate" + id).value;
b = document.getElementById("qty" + id).value;
document.getElementById("amt" + id).value = a * b;
}
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>

</head>

<body>
<form action="" method="get" name="test">
<table width="800" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td align="center">S.No</td>
    <td align="center">Item Name</td>
    <td align="center">Item Code</td>
    <td height="30" align="center">Rate</td>
    <td align="center">QTY</td>
    <td align="center">Amount</td>
    </tr>
  <tr>
  <?php $desr="select * from site_rate where category_code='EWS001' AND sitename='Amber' order by item_code";
		//echo $desr;
	  	$r=mysql_query($desr,$conn);
	  	$i=1;
		while($m=mysql_fetch_array($r))
		{
			?>
    <td><?php echo $i; ?></td>
    <td><textarea name="cat_item" cols="25" rows="2"><?php echo $m['category_item'];?></textarea></td>
    <td><?php echo $m['item_code'];?></td>
    <td><input name="rate<?php echo $i; ?>" type="text" id="rate<?php echo $i; ?>"/></td>
    <td><input name="qty<?php echo $i; ?>" type="text" id="qty<?php echo $i; ?>" onchange="multiply(<?php echo $i; ?>)"/></td>
    <td><input name="amt<?php echo $i; ?>" type="text" id="amt<?php echo $i; ?>" /></td>
    </tr><?php $i++; } ?>
</table>

</form>

</body>
</html>
0

Thanks for your reply,

<td><input name="rate<?php echo $i; ?>" type="text" id="rate<?php echo $i; ?>"/></td>

Suppose if i use

<td><input name="rate[]" type="text" id="rate[]"/></td>

is it possible to get the value

0

Yes, you can for the name attribute but no not for the id attribute.
But in any event, the name attribute is never used because the form is never submitted; from what I can tell you are simply using input boxes to display information. The only reason to keep the name attribute is to produce HTML that is W3C compliant.

0

Hi

ok, i got output with your help.

Thanks for your interest and your valuable time

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.