2009-12-21 37 views
0

將提交數據的表單將有10到100個值發送到PHP文件。輸入的數量存儲在我的JavaScript函數中的一個名爲count的變量中,但我不知道如何將其值傳遞給我的PHP文件。在PHP文件中處理未知數量的值

我的另一個想法是有一個while循環檢測到一個空值,並在while循環中有一個計數器來保持計數。

我該如何處理?

+1

爲什麼計數存儲在JavaScript? – 2009-12-21 20:31:42

回答

1

不知道更多關於你的實現,我會建議你的兩個選項中的後者:使用PHP循環你的$ _POST數組並計算你有的有效值。這是最好的選擇,因爲它更安全可靠。

3

無需提交計數。您可以將您的動態數值作爲數組提交。您可以使用PHP數組表示法在name屬性:

Input 1: <input type="text" name="myvar[]" /> 
Input 2: <input type="text" name="myvar[]" /> 
... 
Input n: <input type="text" name="myvar[]" /> 

在PHP端,$_REQUEST['myvar']將是一個數組。

1

我覺得可能是一個更「正確」的方式做到這一點,但我會做什麼(沒有更好的辦法的知識)是有一個隱藏的表單元素類似

<input id="hidden_count" type="hidden" name="count" value="" /> 

再有一個函數調用的onsubmit,設置這個值,並返回true告訴表單繼續

(用jQuery)

function onSubmitFunc(){ 
    $('#hidden_count').val(count); 
    return true; 
} 

我敢肯定有一個更好的解決方案,但守ld爲你所需要的工作。

0

如果你有機會到JavaScript中,最簡單的遠遠是把你的數據轉換成JSON在客戶端,將其發送到服務器作爲一個字符串變量,並使用json_decode在服務器上得到正確格式化價值迴歸。您可以對錶單上的提交事件做出反應,讓JavaScript在發送數據之前計算JSON。

否則,您可以使用Javascript將字段數輸出到表單中的特定隱藏變量。然後服務器可以讀取該值,並通過輸入中的鍵查找數據。

0

我想你使用javascript來創建額外的輸入元素,如果你只是名字升序,你可以使用count來循環$ _POST數據。或者使用一個隱藏的元素表單來計算新的輸入元素並將其發佈,這樣你就可以得到正確的數字,並知道應該計算多長時間。

0

也許我沒有得到這一點,但如果count在你的JS文件對應於forminput元素的號碼發送到你的PHP文件,爲什麼不count()他們在服務器端。數據將在$_POST陣列中。