3

这个问题来自我之前的问题,使用 php 计算 html 表中的行数。由于我没有可行的解决方案,我想尝试一种新方法,但不知道如何实现它。我为使用 Javascript 添加的每个动态行分配唯一 ID。因此,Javascript 中的 count 变量存储 HTML 表中存在的行数。当我提交表单时,它由savedata.php. savedata.php是否可以在每次提交表单时自动传递 Javascript 变量计数。

以下是我的 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 表中的行数。我想在每次提交表单时自动执行此操作。

4

3 回答 3

3

将此添加到您的表单中..

<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”

于 2013-07-06T11:57:32.810 回答
2

我建议永远不要使用 $_REQUEST,将 $_POST 用于发布方法表单。如果您使用 $_REQUEST,则无法保证数据来自发布数据,这会导致脚本中存在安全漏洞。所以更好用

$NumRows = $_POST['NumRows'];

访问 PHP 中的计数值

于 2013-07-12T23:46:23.677 回答
0

去打阿贾克斯电话。每次单击提交按钮时都会进行 ajax 调用并将所需的数据发送到任何 php 页面。

这里通过这些链接,他们肯定会帮助你

http://www.w3schools.com/jquery/ajax_post.asp

http://api.jquery.com/jQuery.post/

于 2013-07-06T12:25:17.557 回答