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

标签 php javascript ajax html forms

这个问题来 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/

相关文章:

ajax - Spotify 应用程序请求授权

php - 我是否应该准备所有查询,即使它们只会执行一次?

php - 使用 php 下载 1000 多张图像,如何绕过空白图像

php - mysql_connect : Access denied

php - APC 是否适用于高度动态的 PHP 网站?

javascript - Rails - 级联选择表单不相互更新并显示所有结果

javascript - 如何转换 "["15 3","15 6","16 6","19 7"]"到 ["153","156","166"0x1045679 10]

javascript - 从 onChange 事件填充 FilteringSelect 数据存储

JavaScript 类继承

java - 为什么我的 Wicket 面板在更改默认模型后不重新渲染?