2013-07-06 146 views
3

從我剛纔的問題counting the rows in html table using php這個問題如下。 因爲我沒有工作的解決方案,我想嘗試一種新的方式,但不知道如何實現它。 我分配使用Javascript添加唯一的ID給每個動態記錄。所以Javascript中的count變量存儲HTML表格中存在的行數。當我提交表格時,它由savedata.php進行處理。是否有可能每個表單提交時自動傳遞JavaScript變量計數savedata.php通過JavaScript變量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++; 
} 

每次添加一個新行,算增量,所以只是把它傳遞給PHP文件將允許獲得HTML表格的行數。我想在每次提交表單時自動執行此操作。

回答

2

添加這個表單裏面..

<input name="NumRows" id="NumRows" type="hidden" value="0"/> 

然後修改你的JS更新值...

document.getElementById("NumRows").value = count; 

然後,在你的PHP你可以做...

$NumRows = $_REQUEST['NumRows']; 

請注意,如果由於某種原因,NumRows不與形式一起傳遞(不太可能在這裏,但可能在別處)t母雞,你應該在PHP這樣做...

$NumRows = isset($_REQUEST['NumRows'])?$_REQUEST['NumRows']:0; 

這意味着 「如果$_REQUEST['NumRows']設置,使用它,否則設置$NumRows 0」

+0

計數值我不需要此輸入字段添加到每一行。對 ? – akashaggarwaal

+0

非常感謝。終於完成了。我想知道如何在沒有Ajax的情況下做到這一點,並且您找到了我一個完美的解決方案。再次感謝。 – akashaggarwaal

+1

不是 - 每種形式一次:)你非常歡迎,總是很高興在這裏看到新的成員 - 希望我們會看到你更多 – Basic

2

我建議從來沒有使用$ _REQUEST,使用POST方法形式_POST $。如果您使用$ _REQUEST你有沒有保證,從POST數據,從而導致安全漏洞在腳本中附帶的數據。所以最好使用

$NumRows = $_POST['NumRows']; 

訪問PHP