-1

さて、これは単純に聞こえるかもしれませんが、落とし穴があります。状況を説明してみます。

レイアウトで作成されたページがあり、中央に2つのボタンと通常のフォームのビューがあります。2つのボタンは、2つの入力フォームを切り替えるためのものです。送信を押すと、両方のフォームが送信されます。最初のフォームは一般的な情報用であり、2番目のフォームは必要に応じて情報とともに画像をアップロードするために使用されます。

質問を避けるために、1つのフォームを使用しないのはなぜですか?このように2つを分離しておくことが要求です。

そのため、上位2つのボタンが送信のように機能する2つのビューを使用して、フォームデータを使用してPOSTリクエストを作成することを検討しましたが、実際にはデータベースに送信しませんでした。次に、画像をアップロードできる2番目のビューにリダイレクトします。

そして、実際の送信ボタンが押されたときに、収集されたすべてのデータがデータベースに書き込まれるようにします。

基本的には、フォームがそれぞれ2つのタブがあり、両方のタブでフォームを送信するための送信ボタンが1つしかないページのようなものです。

投稿データを保存するための2つのボタンを作成し、[最終]送信ボタンで前の投稿データを使用してから他のフォームデータを使用して、新しい結合された投稿データを作成して保存する方法について頭を悩ませることはできません。データベース。

誰かがこれを達成する方法を知っていますか?私はこれに正しくアプローチしていますか、それともこれを行うためのより簡単でクリーンな方法がありますか?

前もって感謝します!

4

1 に答える 1

1

ここにはいくつかのオプションがあります。1 つのオプションは、1 つのフォームを作成し、2 つの別々のセクションをサブフォーム (Zend_Form_SubForm のインスタンス) として追加することです。次に、フォームを個別にスタイル設定し、タブを付けますが、両方の送信ボタンを 1 つにします。また、送信すると、フォームデータはサブフォームごとに配列要素に分割されます。

詳細については、こちらを参照してください。

http://framework.zend.com/manual/en/zend.form.advanced.html#zend.form.advanced.multiPage

私が気に入っている別の解決策は、アクション ヘルパーを使用して、上記の URL と同様にフォームを 2 つのページに追加するプロセスを分割することですが、両方が検証されるまでセッション オブジェクト内にフォーム情報を保存し、両方のフォームを一度に処理します。

http://framework.zend.com/wiki/display/ZFPROP/Zend_Controller_Action_Helper_Multiform+Proposal+-+Simon+Mundy

http://framework.zend.com/wiki/pages/viewpage.action?pageId=42130

お役に立てれば。

于 2012-05-10T00:05:04.947 に答える