問題タブ [zend-form-sub-form]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
zend-framework - マルチ配列を zend 形式で設定する方法
DB から zend フォームにすべての結果を入力しようとしていますが、機能しません。
これが私のフォームです
そして、コントローラーのコードは次のようになります
$configsObjResults
が含まれています
forms - サブフォームを含む Zend フォームにより、送信ボタンが機能しなくなる
3 つのサブフォームが挿入されたフォームがあります。必要に応じて、これらのサブフォームを構築する方法のコードを投稿できますが、非常に巨大なので、最も関連性の高い部分だけをここに置きます。
まず、フォームのinit()
機能:
ご覧のとおり、いくつかの要素を宣言し、addElements()
関数を使用してそれらをフォームに追加します。ただし、3 つのサブフォームが必要だったので、これを 2 つの部分に分割しました (それぞれの関数によって作成されaddEnclosedItems()
、addYoutubeItems()
要素addEyecatchers()
の最後の部分を追加します。
その結果、次の HTML が得られます。
これまでのところ、サブフォームを追加してから送信されなくなることを除いて、完全に機能します。
問題が何であるかを知っている/見ている人はいますか? アドバイスをいただければ幸いです:)
更新: Zend_Form_Subform を適切に拡張した後、返された HTML コードを更新しました。この関数が実行されていないときはいつでもフォームが機能するため、 addEyecatcher 関数のどこかに問題があることもわかりました。
サブフォームを作成する addEyecatcher 関数は次のとおりです。
public function addEyecatcher() { $eyecatcher_form = new Zend_Form_SubForm();
}
これまでのところ助けてくれてありがとう、私はすでにこの問題を解決するためのいくつかのステップを踏み出しました:)
php - クラス'Zend_Form_Subform'が見つかりません
取得するための考えられる理由は何でしょうか
ローカルで正常に動作している場合は、リモートサーバー上で。問題はZend_Form_Subform
、他のすべてのフォーム(サブフォームなし)でのみ発生し、ビューは正常に機能しています。
application.ini
サブフォームの下に何かが足りませんか?
php - Zend Form、要素にデフォルト値がある場合、入力値を取得できません
Zend Framework 1.12を使用して、複数のフォームを含むページを作成しています。単一のマスターフォームとサブフォームを使用します。したがって、検証コードの部分は1つだけです。これらのサブフォームは、データベース内のさまざまなテーブルを指します。そのフォームに関する行がデータベースにある場合、フォームはデフォルトでデータベースから値を取得し、ユーザーがそのデータを変更できるようにすることを目的としています。また、データベースに行がない場合は、このフォームの入力がdbに挿入されます。最初に、dbから値を取得し、それらをフォーム要素の値として表示できます。しかし、私がそれを変更して、
ページに入力(または編集)された値にアクセスできません。デフォルトでフォームに入力されたデータベースの値に再度アクセスします。このフォームは常に編集できるはずです。また、さまざまな種類のデータ用に複数のフォームがあり、同じことを実行します。私は何を間違っている必要がありますか?何か案が?
(追加)ここに私のコントローラーコードの関連部分の要約があります:
したがって、最初のステップ:$form1が$masterformに追加されます。
2番目のステップ:$ masterformが送信され(現在は$ form1のみが含まれています)、$form2が$masterformに追加されます。追加される前に、$form2の値がフォーム要素内にロードされます。
3番目のステップ:$ masterformが送信されました($form1と$form2も同様です)。$ form2の値に変更があった場合は、この送信によってdbで更新する必要があります。
これがこのコードの目標ですが、3番目のステップのために達成できませんでした。
forms - フィールドセット内の ZF2 レンダリング サブフォーム
Zend Framework 1 では、フィールドセットにサブフォームをレンダリングするために次のことを行いました。
個々の「行」サブフォームはフィールドセットでレンダリングされ、サブフォーム名の疑似配列表記 (row[1]、row[2] など) により、投稿されたフォーム データは配列としてきれいに取得されました。
ZF2 では、(カスタム) ビュー ヘルパーとおそらく部分ビュー スクリプトを使用して、ビュー スクリプトの最後でのみレンダリングを行うことができます。
私の知る限り、(未知の数の) サブフォームをレンダリングする唯一の方法は、ビュー スクリプトでそれらをループすることです。
ビュー スクリプトでサブフォームを配列 (またはオブジェクト) として取得してループさせるにはどうすればよいですか?
php - Zend Form を使用した動的フォーム
こんにちは、私は Zend Framework 1 を使用して連絡先アプリケーションを作成しています。連絡先テーブルと contact_data テーブルがあります。
連絡先データには、電話、電子メール、ファックスなどのすべての連絡先の詳細が保持され、住所テーブルは一目瞭然です。秘訣は、連絡先データとアドレスを無制限に追加できるように設定する必要があることです。私は以前にカスタマイズされたビューにかなり取り組んでこれを達成しましたが、それは私が望んでいないビュー内に多くのコードロジックを入れています。だから私はZend_Formを使ってやり直していますが、同じフォーム部分から複数の連絡先の詳細を追加/編集/削除する設定に関して行き詰まっています。
私は JavaScript を完成させ、ビューを使用してそれを実行する方法を知っていますが、ここでは Zend Forms を使用してこれを実行する必要があります。サブフォームのアイデアを見てきましたが、私の場合は次のことを行う必要があります。
私のフォームは次のように構成されています。
リストされているすべての連絡先の詳細のテキストと入力
電話の追加、ファックスの追加、住所の追加へのリンクがある特別な連絡先データ領域。これらのリンクをクリックすると、テーブルが開き、一連の入力がテーブルに追加されます。たとえば、住所リンクを追加すると、通り、都市、国、および州の一連の入力がテーブルに追加されます。
私はこれを1時間ハッキングしてきましたが、ここでかなり迷っています。これをどのように処理できますか?
php - Zend_Form: サブフォームを html タグで囲む
私はこのフォームを持っているとしましょう:
そして、次のようにサブフォームの周りにカスタム html をラップしたかったのです。
どうすればそれを行うことができますか?addSubform()
のようにオプション パラメータを取りませんaddElement()
。
php - サブフォームではなくフォームを検証する
サブフォームが特定の状況でのみ必要となる Zend_Form があります。親フォームとサブフォームの両方に必須フィールドがあります。サブフォームは常に満たされるとは限りませんが、その要素のいずれかが満たされている場合、それらはすべて満たされるべきです。
を呼び出すと$form->isValid($_POST)
、親フォームとサブフォームの両方が検証され、サブフォーム自体が不要な場合でもサブフォームの必須要素が空の場合はエラーが返されます。
関数をオーバーロードする以外isValid()
に、親フォームのみを検証する方法はありますか?
zend-framework - マルチ配列入力フィールドの zend フォーム データを入力する方法
こんにちは私はzendで次のフォームを持っています
このフォームを以下のようにレンダリングすると、これは完全に正常に機能します。
しかし、レコードを追加するときに、クラス「stopage_block」の div のクローンを作成し、データベースに保存します。今私の懸念は、div のクローンを介して挿入された foreach ループを使用してすべての値を設定する方法です。
私は次の配列を持っています
ループなどを使用して、これらの値を現在のフォームに戻す方法。
ありがとう。