2012-03-07 93 views
1

我想知道如何從表單提交標題變量發佈字段數組。PHP發佈變量標題

我知道$ _POST ['name']是字段名稱,但我可以做一些像$ _POST [標題]來獲得標題?

我問,因爲我有一個可變長度的動態表單。動態是group_one包含5個字段,group_two包含12個字段,group_three包含2個字段。

我希望循環這些組,並將表單字段的標題發佈到數據庫及其值中的列。瞭解是否可以在表單字段元素中使用「標題」變量的任何幫助。

<input type="radio" name="txtGroupOne[]" id="txtDogAtPremisesYes" value="Yes" title="Dog at premises" />Yes 
<input type="radio" name="txtGroupOne[]" id="txtDogAtPremisesNo" value="No" title="Dog at premises" />No        
<input type="text" name="txtGroupOne[]" id="txtNextOfKinName" title="Next of kin name" />        
<input type="text" name="txtGroupOne[]" id="txtNextOfKinContact" title="Next of kin contact" /> 
+3

'但是我可以做一些like' - 它需要一分鐘去檢查,並〜5分鐘,問一個問題,等待答案。你爲什麼選擇後者? – zerkms 2012-03-07 23:00:11

+0

我不太確定你的問題在問什麼。示例表單HTML可能? – Corbin 2012-03-07 23:00:42

+0

如果您尚未閱讀此頁面,請先閱讀此頁。它會讓你更好地理解如何處理提交的POST變量: http://www.php.net/manual/en/language.variables.external.php – evasilchenko 2012-03-07 23:04:55

回答

0

您可以將隱藏字段添加到每個需要將標題發送到服務器的字段,而不是其值。

<input type="radio" name="txtGroupOne[]" id="txtDogAtPremisesYes" value="Yes" /> 
<input type="hidden" name="txtGroupOneTitles[]" value="Dog at premises" > 

<input type="radio" name="txtGroupOne[]" id="txtDogAtPremisesNo" value="No" /> 
<input type="hidden" name="txtGroupOneTitles[]" value="Dog at premises" > 

<input type="text" name="txtGroupOne[]" id="txtNextOfKinName" /> 
<input type="hidden" name="txtGroupOneTitles[]" value="Next of kin name" > 

<input type="text" name="txtGroupOne[]" id="txtNextOfKinContact" /> 
<input type="hidden" name="txtGroupOneTitles[]" value="Next of kin contact" > 
+0

看起來這是要走的路。謝謝 – puks1978 2012-03-07 23:36:56

0

你可以做這樣的事情:

不具有「name」屬性在窗體不會是$ _POST陣列的一部分
foreach($_POST as $form_var){ 
    // Compile your code here, etc. 
} 

什麼。

<input type='text' id='bar'> 
<input type='text' name='foo' id='foo'> 

只有$ _ POST [ '富']將存在。

微讀該問題的方式略有不同,但您也可以預先輸入您的輸入名稱,以便在生成時包含「組標題」。

<input type='text' name='title1_foo' id='title1_foo'> 

然後,您可以操縱$ _POST循環所需的信息。

1

不,只有name="x"屬性默認情況下在HTML表單中發送。 title="x"未發送。你可以用一些瘋狂的Javascript和Ajax POST技術性地解決它,但如果我是你,我會避免這種情況。

你想把標題發送到你的服務器端?當然可能有更好的選擇來實現你的目標。

+0

我正在執行使用AJAX的帖子,所以也許我會將標題添加到序列化的字符串。謝謝 – puks1978 2012-03-07 23:07:48

+0

@KerePuki好的,如果你已經使用帶有序列化字符串的ajax提交表單,它不應該是太多額外的工作。 IE瀏覽器。你可以在Javascript中用'getAttribute('title')'來獲取'title',或者如果你已經使用了jQuery,你可以使用'attr('title')'然後把它放入你的字符串或者一個Javascript中對象或數組,如果可能的話在序列化之前。 – Paulpro 2012-03-07 23:37:37