問題タブ [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 に答える
136 参照

drupal-6 - Drupal6フォーム-APIセットの返信先アドレス

Drupal6でFormAPIを使用してフォームを作成しましたが、それ以外はすべて正常に機能しますが、From値を使用してdrupal_mailではなくヘッダーReply-toを作成できますか?

これをモジュール内の通常のhook_mail関数に入れてみました。

これを行うためのハッキーでない方法はありますか?私たちはシステム管理者によって制御されるマルチサイトインストールを持っているので、私は物事を変えるコアに入ることができません。

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

drupal - Drupal 6:ノードを作成するためのフォームの作成..!

4つのフィールドを持つカスタムフォームを作成していて、いくつかのCCKフィールドを持つ特定のコンテンツタイプのノードを作成したいと思います。

このフォームの送信時に、プログラムでノードを作成することを目的としています。一部のフィールドのデフォルト値をプッシュする予定であり、一部のフィールドはこのフォームウィジェットでマップされます。

これが私のコードです

これを送信すると、タイトルと本文としてテキストフィールドテキストを使用してコンテンツタイプが作成されますが、テーブルノードのuid列にUID(ログインしたユーザーID)を保存したいと思います。 ...そして私はあなたが見ることができるようにそれをやってみました...しかしそれでもそれは0を送っています...私はこれについて助けが必要です...助けてください

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

drupal-6 - ahah属性を持つDrupal6テキストフィールドフォーム要素

ユーザーが入力を開始したときに別の要素を事前入力したいテキストフィールド要素を持つフォームがあります。

'keyup'に設定されたイベントプロパティで正常に機能する#ahah属性を使用していますが、' keyup'イベントが発生した瞬間に、ahahの動作によりフォーム全体が再構築されるため、textfield要素に焦点が当てられなくなります。

イベントプロパティを「change」に設定しようとしましたが、これはうまく機能しますが、「change」イベントを発生させるには、テキストフィールドから離れてクリックする必要があります。したがって、UIの観点からは、ユーザーがフィールドから離れてクリックすることは期待できません。結果を表示します。

AHAHで自分のやりたいことがうまくいくかどうかはわかりませんが、できればそれを守りたいと思います。

必要に応じてコードを提供してください。明確でなく、説明が非常に難しい場合は申し訳ありません。

ありがとうスティーブ

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

api - Drupal7フォームtableselectを使用した無効なforeach編集-選択した行をtableselectから削除する方法

私がやろうとしているのは、フォームAPIを使用して選択リストを作成することです。ユーザーは行を選択し、削除ボタンを押してデータベースから選択した行を削除し、選択した行が削除されたというコンフォメーションでテーブルを再読み込みします。現在のコードでは、削除ボタンを押すと次のエラーが発生します。

警告:form_execute_handlers()のforeach()に無効な引数が指定されました(C:\ xampp \ htdocs \ amaware \ include \ form.incの1431行目)。

コードは次のとおりです。

どんな助けでも深く感謝します。

編集:news_letter_table_formを次のように編集しました:

また、新しい出力では、選択した行を識別してデータベースから削除する方法について戸惑いました。上記のnewsletter_table_form_deleteを使用すると、次の出力が得られます。

  1. 一番上の行を選択しても何も起こりません
  2. 2行目を選択すると、出力は1になります。
  3. 3番目の行を選択すると、出力は2になります。
  4. 複数の行を選択すると、出力は選択された行の順序付けられていないhtmlリストになります。

データベースから選択した行を削除できるように、現在持っているものをどのように変更して変更できるのか、今興味があります。

再度、感謝します!

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

drupal-7 - Drupal 7 - フォーム API で DB からドロップダウン選択を入力

私はまだ PHP に不慣れで、Drupal の Form API にもまだ慣れていません。データベースからドロップダウン選択を入力しようとしているだけです。この問題は、多次元配列の操作方法を深く理解していないことが原因だと思います。どんな助けでも心から感謝します。

私のコードは現在:

これにより、データが入力されたリストが返されましたが、年の ID と年 (たとえば 2008 年) が太字で表示されます。

年IDを太字で表示してから年を表示するだけでドロップダウンを取得するにはどうすればよいですか。$option は、私が望むレベルよりも高いレベルにあるようです。それが理にかなっている場合は?

よろしくお願いします。

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

drupal - drupal 7 のフォーム要素の「必須」プロパティを変更する

私はいくつかの必須フィールドをいくつかの形式で持っています。それらをどこかで必須にし、別の場所では必須でないようにしたいです (正確にそれらが欲しいのですが、cck で存在フィールドを使用することをお勧めしますが、このフィールドは cck ではありません)。 profile2 モジュールを使用しました一部のプロファイル タイプでは、例のフィールドとしてプロファイル タイプの編集ページnameが必要であり、ユーザー登録nameフィールドは必須ではありません。#requireフォームの変更でフィールドのプロパティを変更しようとしnameましたが、正しく変更されましたが、検証でnameフィールドが必須であることがわかりました。

何か案が ?

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

module - drupal_write_recordを使用して送信されたフォームコンテンツをDBに挿入します

重複の可能性:
drupal_write_recordを使用して送信されたフォームコンテンツをDBに挿入します

私はdrupalを初めて使用します。私がやろうとしているのは最初のモジュールなので、ご理解いただければ幸いです。登録モジュールを作成し、 drupal_write_recordを介してデータベースに接続したいのですが、正確な方法がわかりません。drupalのWebサイトからこの方法の使用方法を読みましたが、それでも実行できませんでした。

それを管理するのを手伝ってくれませんか。

モジュールは次のようになります。

この方法で作業しますが、私が必要とするものではありません:

My_module.installファイル:

何が問題で、どのように解決するのですか?

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

jquery - Drupal 7: フォーム API で外部から AJAX コールバックをトリガーする

手短に:

Drupal フォームで AJAX コールバックが実行されるように、jQuery を介して外部イベントをトリガーしようとしています。これにより、いくつかの連鎖要素が再構築されます。一度機能しますが、Drupal の別の要素によってフォームが更新されるまで機能しません。

form_state は、最初の試行でトリガーされた要素として適切な要素を検出しますが、その後は form_state['buttons'] 配列で最初に使用可能なボタンにデフォルト設定されます。何かご意見は?

詳細に:

次のような複雑な Drupal フォームがあります。

A (ドロップダウン)

B (実際には B_key と B_literal、2 つのテキスト フィールド) C (ドロップダウン) D (ドロップダウン) E (ドロップダウン)

A が B を更新し、B が C を更新し、C が D を更新するなどです。B を除いて、これらはそれぞれドロップダウン要素です。各項目はキー => 値のペアであり、キーを使用して更新する要素のオプションを再構築します。したがって、C のキーが D のオプションに使用されるため、B のキーは C のオプションを更新します。

これらは完全に Drupal AJAX コールバックとして構築され、適切に動作します。ただし、B は選択ではなく、2 つの別個のテキスト フィールド、1 つはキー、1 つはリテラルです。これは、リストのサイズが大きすぎて select 要素を使用できないため、B の AJAX オートコンプリート ルックアップを実行できるようにするためです。

このルックアップを実行し、これら 2 つのフィールド (B_key と B_literal) にデータを入力する外部 jQuery スクリプトを作成しました。それらを入力したら、フィールドの 'aj​​ax' => 'event' => 'hs_changed' によって参照されるカスタム イベントをトリガーします。これは、jQuery('[name=b_literal]').trigger を使用して jQuery で手動でトリガーします。 (). これは私がこれを初めて実行したときに機能し、C が新しいオプション セットで再構築されます。

ただし、これが一度発生すると、再構築されなくなります。form_state を調べたところ、B の新しい値を選択すると、フォームの状態がボタン (form_state['buttons'] 配列の最初のボタン) がクリックされたと認識し、これが失敗することに気付きました。

ここで、A をリロードすると、通常は B の値があらかじめ設定されているため、すべての子フィールド (B、C、D、E) が適切に更新されます。これが発生したら、もう一度 B を手動で選択できます。もう一度試してみると失敗する前に、一度書かれたとおりに機能します。私のjQueryにはバインディングの問題がないことに注意してください。これは、Bのフィールドを見つけて値を更新できるためです。最初のトリガーの後に毎回失敗するカスタムイベントを手動でトリガーしています(drupalフィールドのajaxをトリガーします)。

コードは次のとおりです。

フォーム:

コールバック:

jQuery:

この問題の範囲外に多くのロジックがあるため、すべてを単純化しました。オートコンプリートは問題ではありません。b_literal フィールドにアタッチされた Drupal AJAX をアクティブ化して c、d、e のリフレッシュを引き起こすことは、Drupal のフォーム API を介して b、c、d、および e を内部的にリフレッシュするフィールド a をヒットしない限り、最初の時間以降は機能しません。 AJAX ロジック。

Form_state (初回は適切に実行):

[トリガー要素] => Array ( [#type] => textfield [#title] => B [#description] => [#default_value] => [#size] => 32 [#maxlength] => 255 [#required ] => 1 [#disabled] => [#ajax] => Array ( [callback] => b_ajax_callback [method] => replace [effect] => fade [event] => hs_changed )

Form_state (2 回目以降は毎回不適切に実行されます):

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

drupal-7 - フォームの変更で追加された Drupal ボタンが common.inc で致命的なエラーにつながる

Drupal 7 でフォームの変更を使用して、ノード フォームに別のボタンを追加しています。

$form_state['rebuild'] = TRUE;ボタンが押されたときにフォームの値を保持するように追加しました。これが機能するボタンを初めて押すと、カスタムボタンを2回押すと、次のエラーが表示されます。

次に、ページをリロードすると、drupal_set_message() は次のように報告します。

を取り出す$form_state['rebuild'] = TRUE;と、エラーはなくなります。ただし、フォームの値は保持されません。このエラーを発生させずにフォームの値を保持する方法はありますか?

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

drupal - Drupal7-フォームAPIカスタムモジュール

私は2つの値を計算するフォームを持っていますが、フォームは完全に機能しますが、2つの値を計算し、レンダリングされたHTMLとして回答を返す方法を理解するのに問題があります。これにより、ユーザーが見やすいようにすべてのスタイルを整えることができます。 。

すべての助けは大いに感謝されます。ありがとう。