这个问题来 self 之前的问题 counting the rows in html table using php .
由于没有可行的解决方案,我想尝试一种新方法,但不知道如何实现。
我为使用 Javascript 添加的每个动态行分配唯一 ID。因此 Javascript 中的 count 变量存储 HTML 表中存在的行数。当我提交表单时,它由 savedata.php
处理。是否可以在每次提交表单时自动将 Javascript 变量计数传递给 savedata.php
。
以下是我的 Javascript 文件的简短版本,用于为动态创建的行的元素创建唯一 ID。
var count=2;
function addRow()
{
var table=document.getElementById("studenttable");
var row=table.insertRow(-1);
var cell15=row.insertCell(14);
var ipt8 = document.createElement('input');
ipt8.setAttribute("type", "hidden");
ipt8.id = "text" + count;
ipt8.name = "htmlrow[]";
ipt8.value = count;
cell15.appendChild(ipt8);
count++;
}
每次添加新行时,count 都会递增,因此只需将其传递给 PHP 文件就可以获取 HTML 表中的行数。我想在每次提交表单时自动执行。
最佳答案
将此添加到您的表单中..
<input name="NumRows" id="NumRows" type="hidden" value="0"/>
然后修改你的JS来更新值...
document.getElementById("NumRows").value = count;
然后,在您的 PHP 中,您可以...
$NumRows = $_REQUEST['NumRows'];
请注意,如果出于某种原因 NumRows
未随表单一起传递(此处不太可能,但其他地方可能),那么您应该在 PHP 中执行此操作...
$NumRows = isset($_REQUEST['NumRows'])?$_REQUEST['NumRows']:0;
这意味着“如果设置了$_REQUEST['NumRows']
,则使用它,否则将$NumRows
设置为0”
关于php - 在提交表单时将 Javascript 变量传递给 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17502688/