I want to calculate subtotal and total for my form
i tried some javascripts but dident worked for me
some of them were only for static table since i am adding dynamic rows they were not helpfull
can any one help me to add script
formula 1) subtotal = amount1+ amount2+...+ amount(n) 2) total = total - discount
here are my codes
function calculateSubTotal()
{
var SubTotal = +amnt.value + +amnt.value;
document.getElementById("sub_total").value = isNaN(SubTotal) ? 0 : SubTotal;
}
document.getElementById("amnt").onchange = calculateSubTotal;
document.getElementById("amnt").onkeyup = calculateSubTotal;
function calculate(elm) {
var tr = elm;
while ((tr = tr.parentElement) && tr.tagName !== 'TR');
var inputs = tr.querySelectorAll('input,select');
var myBox1 = inputs[2].value;
var myBox2 = inputs[3].value;
var myResult = myBox1 * myBox2;
inputs[4].value = myResult;
}
var count = "1";
function addRow(in_tbl_name)
{
var tbody = document.getElementById(in_tbl_name).getElementsByTagName("TBODY")[0];
// create row
var row = document.createElement("TR");
// create table cell 1
var td1 = document.createElement("TD")
var strHtml1 = "<INPUT TYPE=\"text\" NAME=\"i_name[]\" PLACEHOLDER=\"Name\" SIZE=\"30\">";
td1.innerHTML = strHtml1.replace(/!count!/g,count);
// create table cell 2
var td2 = document.createElement("TD")
var strHtml2 = "<INPUT TYPE=\"text\" NAME=\"i_desc[]\" PLACEHOLDER=\"Description\" SIZE=\"30\">";
td2.innerHTML = strHtml2.replace(/!count!/g,count);
// create table cell 3
var td3 = document.createElement("TD")
var strHtml3 = "<INPUT TYPE=\"text\" NAME=\"i_qty[]\" PLACEHOLDER=\"QTY\" ID=\"qty\" ONINPUT=\"calculate(this)\" SIZE=\"30\">";
td3.innerHTML = strHtml3.replace(/!count!/g,count);
// create table cell 4
var td4 = document.createElement("TD")
var strHtml4 = "<INPUT TYPE=\"text\" NAME=\"i_rate[]\" PLACEHOLDER=\"Rate\" ID=\"rate\" ONINPUT=\"calculate(this)\" SIZE=\"30\">";
td4.innerHTML = strHtml4.replace(/!count!/g,count);
// create table cell 5
var td5 = document.createElement("TD")
var strHtml5 = "<INPUT TYPE=\"text\" NAME=\"i_amnt[]\" PLACEHOLDER=\"Amount\" ID=\"amnt\" >";
td5.innerHTML = strHtml5.replace(/!count!/g,count);
// create table cell 4
var td6 = document.createElement("TD")
var strHtml6 = "<INPUT TYPE=\"Button\" CLASS=\"Button\" onClick=\"delRow()\" VALUE=\"Delete Row\">";
td6.innerHTML = strHtml6.replace(/!count!/g,count);
// append data to row
row.appendChild(td1);
row.appendChild(td2);
row.appendChild(td3);
row.appendChild(td4);
row.appendChild(td5);
row.appendChild(td6);
// add to count variable
count = parseInt(count) + 1;
// append row to table
tbody.appendChild(row);
}
function delRow()
{
var current = window.event.srcElement;
//here we will delete the line
while ( (current = current.parentElement) && current.tagName !="TR");
current.parentElement.removeChild(current);
}
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post" >
<h3> Add New Purchase</h3>
<div class="vali-form">
<div class="col-md-3 form-group2 group-mail">
<select required name="s_account">
<option >--Select Account Name--</option>
<?php while ($row = mysqli_fetch_array($run)) {
echo '<option value="'.$row['acc_name'].'">'.$row['acc_name'].'</option>';}?>
</select>
</div>
<div class="clearfix"> </div>
<div class="col-md-4 form-group1 form-last">
<label class="control-label">Reminder</label>
<input type="text" name="s_rem" placeholder="" required="">
</div>
<div class="col-md-4 form-group1 group-mail">
<label class="control-label">Invoice Date</label>
<input type="date" name="s_idate" class="form-control1 ng-invalid ng-invalid-required" ng-model="model.date" placeholder="" required="">
</div>
<div class="col-md-4 form-group1 group-mail">
<label class="control-label ">Due Date</label>
<input type="date" name="s_ddate" class="form-control1 ng-invalid ng-invalid-required" ng-model="model.date" required="">
</div></div>
<div class="clearfix"> </div>
<div class="col-md-12 form-group1 form-last">
<div class="table-responsive">
<TABLE ID="tblPets" class="table table-striped table-bordered table-hover">
<tr>
<th><center>Item Name</center></th>
<th><center>Description</center></th>
<th><center>Qty.</center></th>
<th><center>Rate</center></th>
<th><center>Amount</center></th>
<th><center><INPUT TYPE="Button" onClick="addRow('tblPets')" VALUE="Add Row"></center></th>
</tr>
<tr>
<th><center><div class="col-md-12 form-group2 group-mail">
<select name="i_name[]">
<option >Select</option>
<?php while ($row1 = mysqli_fetch_array($run1)) {
echo '<option value="'.$row1['itm_name'].'">'.$row1['itm_name'].'</option>';}?>
</select>
<div></center></th>
<th><center><INPUT TYPE="text" NAME="i_desc[]" PLACEHOLDER="Description" SIZE="30"></center></th>
<th><center><INPUT TYPE="text" NAME="i_qty[]" PLACEHOLDER="QTY" ID="qty" ONINPUT="calculate(this)" SIZE="30"></center></th>
<th><center><INPUT TYPE="text" NAME="i_rate[]" PLACEHOLDER="Rate" ID="rate" ONINPUT="calculate(this)" SIZE="30"></center></th>
<th><center><INPUT TYPE="text" NAME="i_amnt[]" PLACEHOLDER="Amount" ID="amnt" ></center></th>
<th></th>
</tr>
</TABLE>
<div class="clearfix"> </div>
<div class="vali-form">
<div class="col-md-6 form-group1 form-last">
<label class="control-label">Subtotal</label>
<input type="text" name="s_stotal" placeholder="" required="">
</div>
<div class="col-md-6 form-group1 form-last">
<label class="control-label">Discount</label>
<input type="text" name="s_discount" placeholder="" required="">
</div>
<div class="col-md-6 form-group1 form-last">
<label class="control-label">Total</label>
<input type="text" name="s_total" placeholder="" required="">
</div>
<div class="col-md-6 form-group1 form-last">
<label class="control-label">Balance Due</label>
<input type="text" name="s_bald" placeholder="" required="">
</div>
<div class="clearfix"> </div>
</div>
<div class="col-md-12 form-group">
<button type="submit" name="Submit" class="btn btn-primary">Submit</button>
<button type="reset" class="btn btn-default">Reset</button>
</div>
<div class="clearfix"> </div>
</div>
</form>