如何使用javascript对包含输入字段的表列求和

如何使用javascript对包含输入字段的表列求和,javascript,Javascript,我正在laravel中创建一个计费web应用程序 我创建了一个表单和一个按钮(单击按钮调用addtoinvoice())函数,然后它将在表中添加行并创建输入字段。 所以我想得到所有product\u值[]列的总和 <script type="text/javascript"> function addtoinvoice() { var products = document.getElementById("product"); var

我正在laravel中创建一个计费web应用程序

我创建了一个表单和一个按钮(单击按钮调用
addtoinvoice()
)函数,然后它将在表中添加行并创建输入字段。 所以我想得到所有
product\u值[]
列的总和

<script type="text/javascript">

function addtoinvoice()
{
  var products = document.getElementById("product");
  var productsvalue = products.options[products.selectedIndex].value;

  var client = document.getElementById("client");
  var clientvalue = client.options[client.selectedIndex].value;


  

  
//----verify product or client input is not nulll------------


  if(productsvalue == "")
  {
        alert("Please select an product");

  }else if(clientvalue==""){
        alert("Please select an client");


  }else
  {
        
  var index,table =  document.getElementById("products");

  //-----------Insert Rows 1 ---------------
  var row = table.insertRow(1);
  

 //----------------insert Columns-----------------





 
  var product_name = row.insertCell(0);
  var product_input_tag = document.createElement("input");
  product_input_tag.type = "text";
  product_input_tag.name="product_name[]";
  product_input_tag.readOnly=true;
  
  var product_name_value = document.getElementById("product");
  product_input_tag.value = product_name_value.options[product_name_value.selectedIndex].text;
  product_name.appendChild(product_input_tag);

  

  var product_description = row.insertCell(1);
  var product_description_input_tag = document.createElement("input");
  product_description_input_tag.type = "text";
  product_description_input_tag.name="product_desciption[]";
  product_description_input_tag.readOnly=true;
  var product_description_value = document.getElementById("pro_description");
  product_description_input_tag.value = product_description_value.value;
  product_description.appendChild(product_description_input_tag);

  


  var product_uom = row.insertCell(2);
  var product_uom_input_tag = document.createElement("input");
  product_uom_input_tag.type = "text";
  product_uom_input_tag.name="product_uom[]";
  product_uom_input_tag.readOnly=true;
  var product_uom_value = document.getElementById("uom");
  product_uom_input_tag.value = product_uom_value.value;
  product_uom.appendChild(product_uom_input_tag);

  


  var product_qty = row.insertCell(3);
  var product_qty_input_tag = document.createElement("input");
  product_qty_input_tag.type = "number";
  product_qty_input_tag.name="product_qty[]";
  product_qty_input_tag.readOnly=true;
  var product_qty_value = document.getElementById("qty");
  product_qty_input_tag.value = product_qty_value.value;
  product_qty.appendChild(product_qty_input_tag);

  



  var product_unitprice = row.insertCell(4);
  var product_unitprice_input_tag = document.createElement("input");
  product_unitprice_input_tag.type = "number";
  product_unitprice_input_tag.name="product_uniprice[]";
  product_unitprice_input_tag.readOnly=true;
  var product_unitprice_value = document.getElementById("unit_price");
  product_unitprice_input_tag.value = product_unitprice_value.value;
  product_unitprice.appendChild(product_unitprice_input_tag);

  


  var product_discount = row.insertCell(5);
  var product_discount_input_tag = document.createElement("input");
  product_discount_input_tag.type = "number";
  product_discount_input_tag.name="product_discount[]";
  product_discount_input_tag.readOnly=true;
  var product_discount_value = document.getElementById("discount");
  product_discount_input_tag.value = product_discount_value.value;
  var discount = product_discount_value.value;
  product_discount.appendChild(product_discount_input_tag);



  var product_value = row.insertCell(6);
  var product_value_input_tag = document.createElement("input");
  product_value_input_tag.type = "number";
  product_value_input_tag.name="product_value[]";
  product_value_input_tag.readOnly=true;
  var original = (product_unitprice_value.value)*(product_qty_value.value);
  var newdiscount = (original/100)*discount;
  var total_discount = original-newdiscount;
  var result = Math.round(total_discount*100)/100;
  product_value_input_tag.value = result;
  product_value.appendChild(product_value_input_tag);



  var product_cgst = row.insertCell(7);
  var product_cgst_input_tag = document.createElement("input");
  product_cgst_input_tag.type = "number";
  product_cgst_input_tag.name="product_cgst[]";
  product_cgst_input_tag.readOnly=true;
  product_cgst_input_tag.value = 0;
  product_cgst.appendChild(product_cgst_input_tag);


  var product_sgst = row.insertCell(8);
  var product_sgst_input_tag = document.createElement("input");
  product_sgst_input_tag.type = "number";
  product_sgst_input_tag.name="product_cgst[]";
  product_sgst_input_tag.readOnly=true;
  product_sgst_input_tag.value = 0;
  product_sgst.appendChild(product_sgst_input_tag);



  var product_igst = row.insertCell(9);
  var product_igst_tag = document.createElement("input");
  product_igst_tag.type = "text";
  product_igst_tag.name="product_igst[]";
  product_igst_tag.readOnly=true;
  var product_igst_value = document.getElementById("tax");
  var igst = product_igst_value.options[product_igst_value.selectedIndex].value;
  var tax = (total_discount/100)*igst;
  product_igst_tag.value = Math.round(tax*100)/100;
  product_igst.appendChild(product_igst_tag);


  var remove_row = row.insertCell(10);
  var product_remove = document.createElement("span");
  product_remove.className="btn btn-danger";

  var button_name = document.createTextNode("Remove");
  product_remove.appendChild(button_name);
  remove_row.appendChild(product_remove);



//------------Cells Insert End----------------





//--------Remove Rows start----------



  for(var i = 1; i<table.rows.length; i++)
  {

        table.rows[i].cells[10].onclick = function()
        {
              var c = confirm("do you want to remove this product ?");
              if(c == true)
              {
                    index = this.parentElement.rowIndex;
                    table.deleteRow(index);

              }
              
             
        }



   }



 

//-------Remove Rows End-------------


//----------Calculate All sums subtotal,discount,tax etc..------------











 





  



    }

}
 </script>

函数addtoinvoice()
{
var products=document.getElementById(“产品”);
var productsvalue=products.options[products.selectedIndex].value;
var client=document.getElementById(“客户”);
var clientvalue=client.options[client.selectedIndex].value;
//----验证产品或客户端输入是否为空------------
如果(productsvalue==“”)
{
警告(“请选择产品”);
}else if(clientvalue==“”){
警报(“请选择一个客户”);
}否则
{
var索引,table=document.getElementById(“产品”);
//-----------插入第1行---------------
var行=table.insertRow(1);
//----------------插入列-----------------
var product_name=row.INSERCELL(0);
var product_input_tag=document.createElement(“输入”);
产品输入标签类型=“文本”;
product_input_tag.name=“product_name[]”;
产品输入标签。只读=真;
var product_name_value=document.getElementById(“产品”);
product\u input\u tag.value=product\u name\u value.选项[product\u name\u value.selectedIndex].文本;
产品名称.appendChild(产品输入标签);
var product_description=行插入单元格(1);
var product_description_input_tag=document.createElement(“输入”);
产品\u说明\u输入\u tag.type=“文本”;
产品描述输入标签。名称=“产品描述[]”;
产品描述输入标签。只读=真;
var product_description_value=document.getElementById(“pro_description”);
产品描述输入标签值=产品描述值;
产品描述。追加子项(产品描述输入标签);
var product_uom=行插入单元格(2);
var product_uom_input_tag=document.createElement(“输入”);
产品计量单位输入标签。type=“text”;
产品计量单位输入标签。name=“产品计量单位[]”;
产品计量单位输入标签。只读=真;
var product_uom_value=document.getElementById(“uom”);
产品计量单位输入值=产品计量单位值;
产品计量单位追加子项(产品计量单位输入标签);
var产品数量=行插入单元(3);
var product_qty_input_tag=document.createElement(“输入”);
产品数量输入标签类型=“编号”;
产品数量输入标签。name=“产品数量[]”;
产品数量输入标签。只读=真;
var product_qty_value=document.getElementById(“数量”);
产品数量输入标签值=产品数量值;
产品数量子项(产品数量输入标签);
var product_单价=行插入单元格(4);
var product_unitprice_input_tag=document.createElement(“输入”);
产品\u单价\u输入\u tag.type=“编号”;
产品\单价\输入\标签。name=“产品\单价[]”;
产品\单价\输入\标签。只读=真;
var product_unitprice_value=document.getElementById(“单价”);
产品\单价\输入\标签.value=产品\单价\值.value;
产品单价.appendChild(产品单价输入标签);
var product_折扣=行插入单元格(5);
var产品\折扣\输入\标记=document.createElement(“输入”);
产品\折扣\输入\标签.type=“编号”;
产品折扣输入标签。name=“产品折扣[]”;
产品\折扣\输入\标签。只读=真;
var product_discount_value=document.getElementById(“折扣”);
产品\折扣\输入\标签.value=产品\折扣\值.value;
var折扣=产品折扣值;
产品折扣.appendChild(产品折扣输入标签);
var乘积_值=行插入单元格(6);
var product_value_input_tag=document.createElement(“输入”);
产品\u值\u输入\u tag.type=“编号”;
产品_值_输入_标签。name=“产品_值[]”;
产品\值\输入\标签。只读=真;
var原始=(产品单价价值)*(产品数量价值);
var新折扣=(原始/100)*折扣;
var总折扣=原始新折扣;
var结果=数学四舍五入(总折扣*100)/100;
产品\值\输入\标签。值=结果;
product_value.appendChild(product_value_input_tag);
var product_cgst=行插入单元格(7);
var product_cgst_input_tag=document.createElement(“input”);
产品\u cgst\u输入\u tag.type=“编号”;
product_cgst_input_tag.name=“product_cgst[]”;
product\u cgst\u input\u tag.readOnly=true;
产品\u cgst\u输入\u tag.value=0;
产品cgst.appendChild(产品cgst输入标签);
var product_sgst=行插入单元(8);
var product_sgst_input_tag=document.createElement(“输入”);
产品\u sgst\u输入\u tag.type=“编号”;
product_sgst_input_tag.name=“product_cgst[]”;
product\u sgst\u input\u tag.readOnly=true;
产品\u sgst\u输入\u tag.value=0;
产品附加子项(产品输入标签);
var product_igst=行插入单元(9);
var product_igst_tag=document.createElement(“输入”);
product_igst_tag.type=“text”;
product_igst_tag.name=“product_igst[]”;
product\u igst\u tag.readOnly=true;
var product_igst_value=document.getElementById(“税”);
var igst=产品值。选项[产品值。选择的索引]。值;
风险值税=(总折扣/100)*igst;
product_igst_tag.value=数学四舍五入(税*100)/100;
产品附件(产品标签);
var remove_row=row.insertCell(10);
var product_remove=document.createElement(“span”);
product_remove.className=“btn btn danger”;
var button_name=document.createTextNode(“删除”);
产品移除。追加子项(按钮名称);
删除行。追加子项(产品删除);
//------------单元插入端----------------
//--------从开始删除行----------

对于(var i=1;i是否有产品价值数组?@OskarZanota是产品价值[]
产品价值
产品价值