隐藏的php会话输入值

时间:2015-04-23 18:31:41

标签: javascript php forms session

我有一个表单,最后使用以下输入:

<input type="hidden" id="ct_count" name="ct_count" value=""/>

表格的初始化是:

<form action="email_submission.php" method="post" id="form1" onsubmit="mySubmit();">

mySubmit功能是:

function mySubmit() {
  document.getElementById('ct_count').value = ct;
  document.getElementById("form1").submit();
}

当我点击提交时,我想将ct的值(它是页面上的变量计数)传递给email_submission.php并将其存储在会话变量中。会话变量在每次提交时都返回空白,我不确定所使用的“ct”变量的值是否在隐藏字段上传递。

有人能够找到我错的地方吗?通过这个已经存储了正确的变量,所以就我所知,它不是我的会话设置。

tldr:采用javascript变量计数并通过表单提交给php的正确方法是什么?

编辑: 这是添加字段的代码。 变量“ct”的intiial循环

function new_link()
{
ct++;
<?php $ct = $ct + 1; ?>

document.getElementById("sec4_lender").setAttribute('name', 'sec4_lender_<?php echo $ct;?>');
document.getElementById("sec4_balance").setAttribute('name', 'sec4_balance_<?php echo $ct;?>');
document.getElementById("sec4_termdate").setAttribute('name', 'sec4_lender_<?php echo $ct;?>');
document.getElementById("sec4_security").setAttribute('name', 'sec4_security_<?php echo $ct;?>');
document.getElementById("sec4_description").setAttribute('name', 'sec4_description_<?php echo $ct;?>');
document.getElementById("sec4_status").setAttribute('name', 'sec4_status_<?php echo $ct;?>');
document.getElementById("sec4_repayment").setAttribute('name', 'sec4_repayment_<?php echo $ct;?>');
document.getElementById("sec4_repayment2").setAttribute('name', 'sec4_repayment_2_<?php echo $ct;?>');

var div1 = document.createElement('tr');
div1.id = 'sect4busloan_div_'+ct+'';
// link to delete extended form elements
var delLink = '<tr style="text-align:right;margin-right:65px"><a href="javascript:delIt('+ ct +')">Del</a></tr>';
div1.innerHTML = document.getElementById('newlinktpl').innerHTML + delLink;
document.getElementById('newlink').appendChild(div1);

}

// function to delete the newly added set of elements
function delIt(eleId)
{
d = document;
var ele = d.getElementById(eleId);
var parentEle = d.getElementById('newlink');
parentEle.removeChild(parentEle.childNodes[eleId]);
var newct = ct - 1;
ct = newct;
<?php $ct = $ct - 1;?>

}

2 个答案:

答案 0 :(得分:0)

您正在获取输入值并始终将其设置为ct -

document.getElementById('ct_count').value = ct;

如果你这样做,你应该在控制台中收到关于ct的警告或错误。你应该做的是将一个变量设置为输入的值 -

var ct = document.getElementById('ct_count').value; 

您似乎也从未设置隐藏字段的值,因此在此处发布的示例ct的值始终为空。

答案 1 :(得分:0)

事实证明,虽然进行了错误测试,但我已将该单个会话移出了我的脚本的条件。因此,对于除了第一个i之外的每个页面,它都在请求一个空白变量。

最好的白痴。非常感谢大家帮忙解决这个问题。