0

私は、ユーザーが好きなだけ追加できる一種の連絡先フォームを作成していますdiv。これには、1 つの選択ボックスと 2 つのテキスト ボックスの 3 つが含まれています。

すべてのボックスを選択し、素敵な PHP 電子メール関数に追加して、次のようにきれいに送信する方法を知りたいです。

Select1
Textbox1
Textbox1-1

select2
textbox2
textbox2-2

進め方の詳細については、以下をご覧ください。

次の行を使用して、Jquery を使用して、3 つの要素を含む現在のボックスを複製します。

$('#element_1').clone().attr('id', 'element_' + ++counter).appendTo('.container');

そして、関数を使用して、このボックス内のすべての要素を jQuery で再度変更し.attr()ます。すべての要素には独自の ID があり、すべての要素の簡単なパターンに従い+1ます。

4

2 に答える 2

1

カウンターを追加しないでください。これにより、phpでアクセスするのが難しくなります。代わりに、入力の名前に配列を使用してください。

例:

<select name="selectbox[]">
    <option value="1">1</option>
    <option value="2">2</option>
</select>
<input name="textbox[]" />
<input name="textbox2[]" />

<select name="selectbox[]">
    <option value="1">1</option>
    <option value="2">2</option>
</select>
<input name="textbox[]" />
<input name="textbox2[]" />

php:

foreach( $_POST['textbox'] as $i => $textbox ) {
    // use $i as the key to get other inputs

    $textbox2 = $_POST['textbox2'][$i];
    $select = $_POST['selectbox'][$i];

    // 1 entire set of inputs
    echo $select;
    echo "<br />";
    echo $textbox;
    echo "<br />";
    echo $textbox2;
    echo "<br /><br />";
}
于 2012-12-23T21:16:06.213 に答える
1

本当の問題は何ですか?すべての div ブロックが<form></form>タグに複製され、フォーム送信時にサーバー側に進むことを確認してください。これらの入力フィールドをどのように処理するかという質問に苦労している場合は、入力名に [] 角​​かっこを使用してください。そうすれば、それらは配列としてスクリプトに取り込まれ、それらをループすることができます。(例: input name="name[]")

于 2012-12-23T21:10:58.600 に答える