这个问题来自我之前的问题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++;
}
每次添加新行时,计数都会增加,因此只要将其传递给PHP文件,就可以获取HTML表中的行数.我想每次提交表单时自动执行.
解决方法:
将此添加到您的表单中.
然后修改您的JS以更新值…
document.getElementById("NumRows").value = count;
然后,在您的PHP中,您可以…
$NumRows = $_REQUEST['NumRows'];
请注意,如果由于某种原因未将NumRows与表单一起传递(在这里不太可能,但在其他地方可能),则应在PHP中执行此操作…
$NumRows = isset($_REQUEST['NumRows'])?$_REQUEST['NumRows']:0;
这意味着“如果设置了$_REQUEST [‘NumRows’],请使用它,否则将$NumRows设置为0”
标签:html5,ajax,forms,javascript,php
来源: https://codeday.me/bug/20191030/1969814.html