我有一个脚本使用textfields向表中添加行 每次我点击添加行:
<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,所以我可以算一下我应该做多少循环?
答案 0 :(得分:5)
将<input type="hidden" name="count_rows" value="0">
添加到表单,在提交表单时将其值更新为行计数。
答案 1 :(得分:2)
您需要在表单中创建一个输入隐藏字段,并使用计数器的值对其进行初始化。你可以使用如下的javascript
var input = document.createElement("input");
input.setAttribute("type", "hidden");
input.setAttribute("name", "counter");
input.setAttribute("value", x);
答案 2 :(得分:0)
正如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>