1つのページに複数のフォームを配置することはできますか?
クーポン提供ページを作ろうとしています。ページの両側に2つの異なるオファーがある2つのフォームが必要でした。各フォームには、クーポンコードのテキストフィールドと独自の送信ボタンがあります。最初の形式は大丈夫です。ただし、2番目のフォームの非表示の値は、最初のフォームの値によって上書きされるようです。
私はhook_alterを使用して2番目のフォームを変更して別のフォームにしていますが、最初のフォームと同じform_idを持っています。これが私の問題の原因ですか、それとも他の場所を調べたり考えたりする必要がありますか?
2つのフォームの「form_id」と「form_token」の値は同じですが、「form_build_id」の値は異なります。
同じフォームを複数回追加する場合は、 hook_forms() を実装する必要があります。例は node_forms() を参照してください。
これにより、異なるform_idを使用できるようになり、すべて同じformビルダー関数を指します。たとえば、yourmodule_some_form_$i
を使用してから、hook_forms()を使用してこれらをyourmodule_some_form
にポイントできます。
例については http://www.mohitsharma.net/content/how-show-same-form-multiple-time-page を参照してください