如何在提交后将变量从javascript传递给php

时间:2012-09-12 04:49:02

标签: php javascript html

我有一个脚本使用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,所以我可以算一下我应该做多少循环?

3 个答案:

答案 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>