Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将Javascript中创建的动态行中的数据获取到html标记中?_Javascript_Html - Fatal编程技术网

如何将Javascript中创建的动态行中的数据获取到html标记中?

如何将Javascript中创建的动态行中的数据获取到html标记中?,javascript,html,Javascript,Html,有一个表单的表包含1行和4列。添加行按钮创建了一个精确的行,但ID不同。我想获取此表单中填写的数据,并在单击底部的保存并继续稍后按钮时发送到php脚本。我如何做到这一点?这是一个html页面 <form name="myform"> <h3 align="left"><b>Computer</b><h3> <table id="POITable" border="1" width="100%"> <tr> &l

有一个表单的表包含1行和4列。添加行按钮创建了一个精确的行,但ID不同。我想获取此表单中填写的数据,并在单击底部的保存并继续稍后按钮时发送到php脚本。我如何做到这一点?这是一个html页面

<form name="myform">

<h3 align="left"><b>Computer</b><h3>
<table id="POITable" border="1" width="100%">
<tr>
<th style="width:10%">Sr No.</th>
<th>Item Description</th>
<th>Quantity</th>
<th>Rate(Inclusive of Taxes)</th>
<th>Total Cost</th>
</tr>
<tr>
<td>1</td>
 <td><textarea rows="4" cols="50" id="comp_item"></textarea></td>
 <td><input size=25 type="number" id="comp_quant"/></td>
  <td><input size=25 type="number" id="comp_rate"/></td>
 <td><input size=25 type="number" id="comp_total"/></td>
  </tr>
  </table>
  Total:<input type="text" name="computer" align="right"><br>
  <input type="button" id="addmorePOIbutton" value="Add New Row" onclick="insRow()"/>

   <script>

   function insRow()
  {
  console.log( 'hi');
  var x=document.getElementById('POITable');
  var new_row = x.rows[1].cloneNode(true);
  var len = x.rows.length;
  new_row.cells[0].innerHTML = len;
  var inp1 = new_row.cells[1].getElementsByTagName('textarea')[0];
  inp1.id += len;
   inp1.value = '';
  var inp2 = new_row.cells[2].getElementsByTagName('input')[0];
  inp2.id += len;
   inp2.value = '';
  var inp3 = new_row.cells[3].getElementsByTagName('input')[0];
   inp3.id += len;
   inp3.value = '';
   var inp4 = new_row.cells[4].getElementsByTagName('input')[0];
  inp4.id += len;
  inp4.value = '';
   x.appendChild( new_row );
  document.getElementsByName("len")[0].value=len;
   }
   </script>
  <input type="submit" value="SAVE AND CONTINUE LATER">
  </form>

      </html>

电脑类
高级文书主任。
项目说明
量
费率(含税)
总成本
1.
总计:
函数insRow() { console.log('hi'); var x=document.getElementById('POITable'); var new_row=x.rows[1]。克隆节点(true); var len=x.rows.length; 新的行。单元格[0]。innerHTML=len; var inp1=new_row.cells[1].getElementsByTagName('textarea')[0]; inp1.id+=len; inp1.value=''; var inp2=new_row.cells[2].getElementsByTagName('input')[0]; inp2.id+=len; inp2.value=''; var inp3=new_row.cells[3]。getElementsByTagName('input')[0]; inp3.id+=len; inp3.value=''; var inp4=new_row.cells[4].getElementsByTagName('input')[0]; inp4.id+=len; inp4.value=''; x、 追加子项(新的_行); document.getElementsByName(“len”)[0]。value=len; }
要在php中检索数据,必须在表单输入字段中添加名称属性。我重写了您的代码,将输入id替换为名称,如下所示:

<td><textarea rows="4" cols="50" name="comp_item"></textarea></td>
<td><input size=25 type="number" name="comp_quant"/></td>
<td><input size=25 type="number" name="comp_rate"/></td>
<td><input size=25 type="number" name="comp_total"/></td>
<form name="myform" action="myphpformhandler.php" method="POST">
<form name="myform" action="myphpformhandler.php" method="POST"> <!-- point action towards the php-file where you wish to handle your data -->

    <h3 align="left"><b>Computer</b><h3>
    <table id="POITable" border="1" width="100%">
      <tr>
        <th style="width:10%">Sr No.</th>
        <th>Item Description</th>
        <th>Quantity</th>
        <th>Rate(Inclusive of Taxes)</th>
        <th>Total Cost</th>
      </tr>
      <tr>
        <td>1</td>
        <td><textarea rows="4" cols="50" name="comp_item"></textarea></td>
        <td><input size=25 type="number" name="comp_quant"/></td>
        <td><input size=25 type="number" name="comp_rate"/></td>
        <td><input size=25 type="number" name="comp_total"/></td>
      </tr>
    </table>
    Total:<input type="text" name="computer" align="right"><br>
    <input type="button" id="addmorePOIbutton" value="Add New Row"/>
    <input type="submit" value="SAVE AND CONTINUE LATER">
  </form>

  <script>

    (function() { // Prevent vars from leaking to the global scope

      var formTable = document.getElementById('POITable');
      var newRowBtn = document.getElementById('addmorePOIbutton');

      newRowBtn.addEventListener('click', insRow, false); //added eventlistener insetad of inline onclick-attribute.

      function insRow() {
        var new_row = formTable.rows[1].cloneNode(true),
        numTableRows = formTable.rows.length;

        // Set the row number in the first cell of the row
        new_row.cells[0].innerHTML = numTableRows;

        var inp1 = new_row.cells[1].getElementsByTagName('textarea')[0];
        inp1.name += numTableRows;
        inp1.value = '';

        var inp2 = new_row.cells[2].getElementsByTagName('input')[0];
        inp2.name += numTableRows;
        inp2.value = '';

        var inp3 = new_row.cells[3].getElementsByTagName('input')[0];
        inp3.name += numTableRows;
        inp3.value = '';

        var inp4 = new_row.cells[4].getElementsByTagName('input')[0];
        inp4.name += numTableRows;
        inp4.value = '';

        // Append the new row to the table
        formTable.appendChild( new_row );

        document.getElementsByName("len")[0].value = numTableRows;
      }
    })();
  </script>
$_POST['comp_item'];
$_POST['comp_item1'];
$_POST['comp_quant'];
$_POST['comp_quant1']; //etc...