微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在表单提交时将Javascript变量传递给PHP

这个问题来自我之前的问题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表中的行数.我想每次提交表单时自动执行.

解决方法:

将此添加到您的表单中.

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐