表单不接受我表单中的所有输入行(输入名称丢失(

时间:2015-11-09 16:03:05

标签: javascript php

我有这个代码,我需要获取插入行和输入文本表单时输入的计数。请有人帮帮我吗?

function myFunction() {
  var table = document.getElementById("mytable");
  var rowCount = table.rows.length;
  var row = table.insertRow(rowCount - 1);

  var cell1 = row.insertCell(0);
  var cell2 = row.insertCell(1);

  cell1.innerHTML = table.rows[0].cells[0].innerHTML;
  cell2.innerHTML = table.rows[0].cells[1].innerHTML;
}
<table id="mytable">
  <form method="POST">
    <tr>
      <td>
        <input name="s1[]" type="text" />
      </td>
      <td>
        <input name="s2[]" type="text" />
      </td>
    </tr>
    <tr>
      <td colspan="2">
        <input type="submit" name="submit" value="insert" />
      </td>
    </tr>
  </form>
</table>

<button onclick="myFunction()">more</button>

<?php if(isset($_POST[ 'submit']))
  {
    $count = count($_POST[ 's1']); 
    echo "<script>alert('".$count. "');</script>"; 
  } 
?>

2 个答案:

答案 0 :(得分:1)

表格不允许是表格,tbody或tr的子元素。

您可以在表单中包含整个表。您可以在表格单元格中放置一个表单。您不能在表单中包含表格的一部分。

在整个表格周围使用一个表格。然后使用单击的提交按钮确定要处理的行(快速)或处理每一行(允许批量更新)。

一切都很好。把你的<form>&amp; </form&GT;外面的桌子。 <table></table>应位于<form></form>

<form method="POST">
    <table id="mytable">
        <tr>
          <td>
            <input name="s1[]" type="text" />
          </td>
          <td>
            <input name="s2[]" type="text" />
          </td>
        </tr>
        <tr>
          <td colspan="2">
            <input type="submit" name="submit" value="insert" />
          </td>
        </tr>
    </table>
</form>

有关详情,请查看this

答案 1 :(得分:0)

也许您应该将表格放在表格中:

<form method="POST">
    <table id="mytable">
        <tr>
            <td>
                <input name="s1[]" type="text" />
            </td>
            <td>
                <input name="s2[]" type="text" />
            </td>
        </tr>
        <tr>
            <td colspan="2">
                <input type="submit" name="submit" value="insert" />
            </td>
        </tr>
    </table>
</form>