2012-03-07 9 views
1

フォームの投稿フィールド配列からタイトル変数を抽出する方法が不思議です。PHPポスト変数のタイトル

$ _POST ['name']はフィールド名ですが、タイトルを取得するために$ _POST [title]のようなことをすることはできますか?

私は可変長の動的フォームを持っているので、私は尋ねます。ダイナミクスはgroup_oneに5つのフィールド、group_twoには12のフィールド、group_threeには2つのフィールドなどがあります。

私は、これらのグループをループし、フォームフィールドのタイトルをDBの列とその値に投稿したいと考えています。フォームフィールド要素で 'title'変数を使用できるかどうかを理解していただければ幸いです。フォームでの「name」属性は、$ _POST配列の一部ではありませんありません

foreach($_POST as $form_var){ 
    // Compile your code here, etc. 
} 

何か:

<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

+0

あなたの質問が何を求めているのかよく分かりません。サンプルフォームのHTMLはおそらく? – Corbin

+0

まだ読んでいない場合は、このページを読んで始めてください。投稿されたPOST変数を処理する方法をよりよく理解できます。 http://www.php.net/manual/en/language.variables.external.php – evasilchenko

答えて

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

0

あなたはこのような何かを行うことができます。たったの$ _POST [ 'fooは']に存在するであろう

すなわち、

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

質問を少し誤解しますが、生成時に「グループタイトル」を含むように入力名の前に追加することもできます。

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

次に、$ _POSTループから必要な情報を操作できます。

1

いいえ、デフォルトでHTMLフォームにname="x"属性のみが送信されます。 title="x"は送信されません。技術的には、いくつかの狂ったJavascriptとAjax POSTでそれを回避することができますが、私があなただったらそれを避けるでしょう。

タイトルはあなたのサーバー側に何を送信しますか?確かにあなたの目標を達成するための良い選択肢があります。

+0

私はAJAXを使って投稿を行っているので、おそらく私はシリアライズされた文字列にタイトルを追加します。ありがとう – puks1978

+0

@KerePuki申し訳ありませんが、シリアル化された文字列でajaxを使用してフォームを既に送信している場合は、それほど余分な作業ではありません。 IE。Javascriptで 'title 'を' getAttribute(' title ') 'で取得することもできますし、すでに' attr(' title ') 'を使ってjQueryを使用していれば、それをあなたの文字列に入れるか、Javascript可能であればオブジェクトまたは配列を直列化します。 – Paulpro

関連する問題