問題タブ [form-api]

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.

0 投票する
1 に答える
83 参照

radio-button - ラジオボタンを作る

この質問で申し訳ありませんが、このコードから選択リストの代わりにラジオ ボタンを作成することは可能ですか?

'#type' => 'select' が '#type' => 'radio' であることはわかっていますが、他の何かも変更する必要があります。正確にはわかりません。

どんな提案もありがたく受け入れます。

0 投票する
2 に答える
182 参照

php - 異なるページで画面をフィルタリングして表示する

状況: Drupal で Views モジュールを使用すると、検索フォームと結果を同じページに表示するように制限されます。

例:ページ A = (検索フォーム + 結果) .

ビュー モジュール インターフェイスには、検索フォームを別のページに移動/コピーするオプションがありません。例:ページ A = 検索フォーム、ページ B = 結果フォーム

質問:サイトのフロント ページに別のフィルター (検索) フォームがあり、このフォームが検索パラメーターを実際のビュー ページ (結果を表示する)に送信する場合、ビュー アーキテクチャによって許可されますか?

私の当初の目標は、最初のページで単純な検索を行い、結果が表示されることでした.2番目のページに高度な検索フォームを表示します。

当然、ビューがそれらを理解できるように、最初のカスタム フォームに元のフィルター フォームと同じフィールドを持たせるつもりです。

それは典型的な/受け入れられた解決策ですか?

0 投票する
2 に答える
3414 参照

drupal - Drupalフォームのテキストフィールド#default_valueが機能しない

drupal 6 でマルチページ フォームを使用するカスタム モジュールを作成しています。'#type' => 'textfield' の場合、#default_value が機能しないことがわかりました。ただし、'#type'=>'textarea' の場合は '#default_value' 指定で正しく表示されます。

基本的に、受信した post パラメータに基づいて異なるフォーム定義 ($form) を返す FormFactory を作成しました。最初は、ディレクトリ リストの表示に戻り、ラジオ ボタンから特定のディレクトリに xml ファイルが含まれるまで選択すると、編集フォームになります。編集フォームには、xml ファイル内のデータ (#default_value) を表示するテキスト フィールドがありますが、ここでは「textfield」ではなく「textarea」タイプが機能します。

この場合、「#default_value」を機能させるにはどうすればよいですか?

以下は、非作業フィールドの定義です。

次に、以下に示すようにテキストエリアに変更して機能させました。

0 投票する
3 に答える
4593 参照

drupal - 非 CCK Drupal フォームでの「別のアイテムの追加」

Drupal の CCK には、単一の CCK フィールドが「別の項目を追加」ボタンを介して複数の値を受け入れることができるという便利な機能があり、その結果、ノードにデータの配列が作成されます。

で呼び出す非 CCK フォームにこれを適応させる簡単な方法があるかどうか疑問に思っていますdrupal_get_form。多段階のフォーム テクニックを使用して車輪を再発明する必要はありません。

誰かがこれをしましたか?

0 投票する
4 に答える
1292 参照

php - Drupal 6:値の最初の文字のみをMySQLに挿入する

私はCCKタイプでhook_form_alterを使用しています(drupal-ersの場合)。通常はノードフォームの選択リストであるフィールドがあります。ただし、この例では、選択リストを非表示にして、その値をフォームにSQLクエリで入力します。

すべてが順調に進んでいました。目的の値がHTMLソースに表示されていることがわかったので、クエリが正しく実行されていることがわかりました。ただし、フォームを送信すると、値の最初の文字のみが挿入されます。私のテストのいくつかは566、784、1004の値でした-列の値はそれぞれ5、7、1でした。

最初はDB列の属性である必要があると思いましたが、フィールドを非表示にするform_alterを削除して手動で値を選択すると、正しい値が挿入されますか?!?

なぜ最初の文字だけが挿入されるのか誰にも分かりますか?

注:#valueと#default_valueを使用して列を削除して再作成しようとしましたが、整数の最初の文字のみが送信されます。また、送信ハンドラーを削除することで考えられる原因を排除しましたが、それでも1文字しか送信されませんでした

その他の更新-まだ検索中です! さて、いくつかの良い質問。それらに答えさせてください:

  1. DB列タイプはinteger(4)です
  2. フックが生成するHTMLは次のとおりです。

    input type = "hidden" name = "field_sr_account" id = "edit-field-sr-account" value = "2589"

最新の更新:問題はアレイの構造に限定されていると思います。フォームの変更が処理された後にこのフィールドでvar_dumpを実行すると、これが取得されます。

フォームの値を設定できるフィールドの構造は何ですか。それはabhagaが示唆しているようなものでなければなりません。

0 投票する
1 に答える
321 参照

drupal - Drupal:モジュール、cckまたはその他

Drupal 6に移行するレガシーPHPフォームがあります。私だけでなく、サイトの将来の管理者にとっても簡単にできるようにしようとしています。以下のフォームは、古いサイトデータの中心です。これまでのところ、cckには場所があり、分類法には国がありますが、これらの種のデータを追加できるようにする必要があります。私はCCKでそれを行いますが、%Cover and Densityの12のQuadratsすべてを使用して、各フォームにN個の種を追加できるようにもしたいと思います。(その場所の種ごとに、%Cover、Density、Flower、Fruitなどがあります。つまり、大量のデータがあります!)

基本的に私の質問は、このフォームは1)フォーム全体を1ページに記入できるCCK、2)種に入力するカスタムCCKフィールドを作成すること(FormAPIを使用)、または3)弾丸を噛むことで達成できますか? FormAPIフィールドを使用してカスタムモジュールを作成し、テーブル内のデータを自分で追跡しますか?

あなたの洞察に感謝します。

PHPフォーム

0 投票する
2 に答える
4679 参照

javascript - フォームでの Drupal 動的選択

これは jQuery の専門家にとっては簡単なことだと思いますが、私はバックエンドの人なので、これを行う最善の方法を見つけることができません。Drupal には 2 つの配列があります。1 つはビューの名前のリストで、もう 1 つは各ビューのディスプレイのリストを含む配列です。2 つの配列を設定するコードは次のとおりです。

私が使用しているフォームのスニペットは次のとおりです。

私がやりたいことは、view_display 選択ボックスに適切な値を動的に入力することです。ユーザーが「view」の選択から「My Favorite View」を選択した場合、「view_display」フィールドへの #options として $viewdisplays['My Favorite View'] 配列を表示したいと考えています。

0 投票する
5 に答える
3514 参照

drupal - Drupal のテキストエリア エキスパンダーを無効にしますか?

SO の質問投稿フォームと同様に、Drupal はフォーム API で作成されたテキストエリアの下部にドラッグ可能なエキスパンダーを追加します。これをうまく無効にするにはどうすればよいですか?

0 投票する
1 に答える
141 参照

drupal - Drupal で特定のフォームを「変更」したモジュールのリストを見つける

どのモジュールが特定のフォームを変更したかを知ることができるトリック、アドオン、またはパッチはありますか?

すべての hook_form_alters のリストを作成するのはそれほど難しくありません。しかし、実際に私のフォームを変更したものだけをリストしたいと思います.

モジュールは、ジェネリックmodulename_form_alter()を介してフォームを変更できmodulename_form_FORMID_alter()ます。両方を考慮に入れるとよいでしょう。