我有一个脚本,用文本字段将行添加到表中每次我点击添加行:
<script language = "javascript">
var x = 0;
function addRow(){
var tbody = document.getElementById(tabID).getElementsByTagName("tbody")[0];
var row = document.createElement("tr")
var data1 = document.createElement("td")
var data2 = document.createElement("td")
var element = document.createElement("input");
element.setAttribute("type", type);
element.setAttribute("name", type);
element.setAttribute("id", "Name"+x);
element.setAttribute("style","width:95px");
var element1 = document.createElement("input");
element1.setAttribute("type", type);
element1.setAttribute("name", type);
element1.setAttribute("id", "Address"+x);
element1.setAttribute("style","width:95px");
var foo = document.tbody;
data1.appendChild(element)
data2.appendChild(element1)
row.appendChild(data1)
row.appendChild(data2)
tbody.appendChild(row)
x++;
}
</script>
我如何在提交后将变量x的值传递给php,这样我就可以计算我应该做多少循环了?
将<input type="hidden" name="count_rows" value="0">
添加到表单中,并在提交表单时将其值更新为行数。
您需要在表单中创建一个输入隐藏字段,并使用计数器值对其进行初始化。您可以使用如下的javascript
var input = document.createElement("input");
input.setAttribute("type", "hidden");
input.setAttribute("name", "counter");
input.setAttribute("value", x);
正如Vinay已经建议的那样。利用输入元素的名称和值属性。您可以尝试以下代码片段。
<?php
if(isset($_POST['submit']))
{
print_r($_POST);
$counter= $_POST['counter'];
print_r("counter value : <b>". $counter. "</b>");
}
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input type="hidden" name="counter" value="5"><br>
<input type="submit" name="submit" value="Submit Form"><br>
</form>