タグ付けされた質問 「forms」

フォームAPIに関する質問に使用します。エンティティまたはエンティティフィールドフォームには使用しないでください。

3
#statesをトリガーする複数の値
複数の値でForm APIの#statesをトリガーするにはどうすればよいですか? たとえば、値が5(現在は以下で機能する)の場合にのみこのフィールドを表示したいが、値が3、4または5の場合にフィールドを表示したいとします。 '#states' => array( 'visible' => array( ':input[name="field_star_rating"]' => array('value' => t('5')), ), ), 注として、私は次を試してみましたが、動作しません。値が「4」の場合のみ機能します '#states' => array( 'visible' => array( ':input[name="field_star_rating"]' => array('value' => t('5')), ':input[name="field_star_rating"]' => array('value' => t('4')), ), ), これも機能せず、値が「4」の場合にのみ機能します。 '#states' => array( 'visible' => array( ':input[name="field_star_rating"]' => array('value' => t('5'), 'value' => t('4')), …
18 7  forms  javascript 

4
hook_form_alter()でカスタム送信ハンドラをどのように実装しますか?
Drupal 7モジュールの1つを8に更新しましたが、フォームの変更に問題があります。検証関数と送信ハンドラを追加しています。検証関数は正常に呼び出されますが、送信関数は起動されません。これは、既存のフォームに送信ハンドラーを追加するために必要なSymfonyスタイルのアプローチがあることを意味するのだろうかと思っています。私は多くの検索を行いましたが、例が見つかりません。また、いくつかの進行中のD8モジュールに目を通しましたが、実際に動作するサンプルも見つかりませんでした。 誰もこれを行う正しいDrupal 8の方法が何であるか考えていますか?
16 forms  8 

2
フォーム送信ハンドラーを変更するにはどうすればよいですか?
何らかの理由で、データベースに保存する直前に、任意の形式のすべてのテキストフィールドのいくつかの文字(存在する場合)を置き換える必要があります。言い換えれば、提出されたすべてのデータを取得し、それらの文字を置き換えることができるフックが必要です。 私はこの解決策を見つけました: function hook_form_alter($form, $form_state, $form_id) { $form['#submit'] = 'my_custom_submission_function'; } ただし、提出の進行状況の残りの部分も処理する必要があるため、これは良い考えではありません。いくつかの文字を置き換えるだけです。これを行うためのフックはありますか?解決策は何ですか?
16 7  hooks  forms 

2
AJAXコールバックで$ form_stateを変更します
フォームAPI '#ajax'属性を使用するフォームを作成してい$form_stateますが、AJAX対応ボタンが押されたときを変更する必要があります。ここに私が持っているものがあります: フォームビルダー関数内: ... $form['some_fieldset']['add_more'] = array( '#type' => 'button', '#value' => t('Add more rows'), '#ajax' => array( 'wrapper' => 'some-fieldset', 'callback' => 'my_module_settings_ajax', 'method' => 'replace', 'effect' => 'fade', ), ); ... そして、これがコールバック関数です: function my_module_settings_ajax($form, $form_state) { // Make a change to $form_state if ($form_state['some_fieldset']['add_more']) { $form_state['values']['some_fieldset']['table'][] = array('first_field' …
16 7  forms  ajax 

12
選択リストのデフォルト値を設定する[終了]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 2年前に閉店。 オプション付きの選択リストがあります: $options = array(0 => '0', 500 => '500', 1000 => '1000'); 私はそれを500にデフォルト値に設定しようとしています: $form['price']['min']['#options'] = $options; $form['price']['min']['#default_value'] = 500; しかし、これは機能しません。
16 forms 

3
フォーム送信後のリダイレクト
Drupal 8でカスタムフォームを作成します。カスタム$form_state['redirect'] = 'mycustompath';送信ハンドラーでsetを使用してDrupal 7のカスタムパスにリダイレクトできますが、Drupal 8でフォーム送信後にユーザーをリダイレクトするにはどうすればよいですか? 私はsubmitFormメソッドを使用する必要があることを知っています: public function submitForm(array &$form, FormStateInterface $form_state) { //submissions jobs ... //redirect path }
16 forms  8  redirection 

2
フォームビルダーにパラメーターを渡すにはどうすればよいですか?
module_name.routing.ymlには次のルートがあります。 module_name.usergroup_delete: path: 'module_name/usergroup/delete/{arg1}' defaults: _form: '\Drupal\module_name\Form\DeleteUserGroup' _title: 'Delete User group' requirements: _permission: 'access admin menus' これは、module_name / src / Form / DeleteUserGroup.phpのコードです。 namespace Drupal\module_name\Form; use Drupal\Core\Form\ConfigFormBase; use Drupal\Core\Form\FormStateInterface; class DeleteUserGroup extends ConfigFormBase { public function getFormId() { return 'delete_user_group'; } /** * General form for switching all nodes from …
15 forms  8 

2
ブロック内のフォーム
drupal_get_form('event_signup_form')カスタムフォームをブロック内に埋め込むために使用しています。フォームは意図したとおりにレンダリングされますが、フォームを送信しても何もトリガーされません。 フォーム関数自体が呼び出さevent_signup_form($form, &$form_state)れ、送信関数が呼び出されますが、呼び出されてevent_signup_form_submit($form, &$form_state)いません。 hook_block_viewを使用してフォームを表示しています。 function event_block_view($delta = '') { $blocks = array(); if ($delta ...) { $blocks['content'] = drupal_render(drupal_get_form('event_signup_form')); } } 私はこれをうまく動作させることができました-ここに方法(スタブ)があります: function hook_block_view($delta = '') { $blocks['content'] = drupal_render(drupal_get_form('event_signup_form')); } function event_signup_form() { // Register form submit handler, same goes for validation handler $form['#submit'][] = 'event_signup_form_submit'; return $form; …
15 7  blocks  forms 

4
ノードが追加または編集された後、カスタムページにリダイレクトする
を使用してhook_form_alter、作成または編集されたノードの代わりにノードを作成または編集した後、ユーザーをカスタムページにリダイレクトするにはどうすればよいですか? 現在のコードhook_form_alter()は次のとおりです。 function custom_form_alter(&$form, &$form_state, $form_id) { if ($form['#id'] == 'custom-node-form') { $form['actions']['submit']['#value'] = t('Add Entry'); $form['field_custom_email']['und'][0]['value']['#element_validate'] = array('_custom_form_validate_email'); } }
15 7  forms  redirection 

3
AJAXフォーム送信を実装するにはどうすればよいですか?
私の仕事は、AJAX経由で問い合わせフォームを送信し、「送信ありがとうございます!」と表示することです。フォームがあった場所にロードされたメッセージ。したがって、既存の連絡先フォームをajaxifyする必要があります。 D8のAJAXを使用してフォームフィールドを検証する方法の例をいくつか見つけましたが、AJAX フォーム送信を実装し、AJAXを介してコンテンツをロードする方法の例を見つけることはできません。 タスクを実装するにはどうすればよいですか?連絡先フォームを変更して必要な機能を追加するにはどうすればよいですか?
14 ajax  8  forms 

3
コマースチェックアウトフォームに追加の送信ハンドラを追加するにはどうすればよいですか?
追加の送信ハンドラを追加するにはどうすればよいですか?私はこれを試しましたが、うまくいきませんでした。 function c_coupon_form_alter(&$form, $form_state, $form_id) { drupal_set_message($form_id); switch($form_id) { case 'commerce_checkout_form_review': drupal_set_message($form_id . '_form submit'); $form['#submit'][] = 'c_coupon_review_submit'; } } function c_coupon_review_submit($form, &$form_state) { drupal_set_message('submitted'); }
14 commerce  forms 

1
Drupal管理者設定フォームでコールバックの送信を使用するにはどうすればよいですか?
私はこのコードを使用して管理フォームを作成しています: function custom_orders_admin(){ $form = array(); $form['custom_ignore_terms']['ignore_terms'] = array( '#type' => 'checkboxes', '#title' => t('Don\'t display these'), '#default_value' => variable_get('custom_ignore_terms', array()), '#options' => drupal_map_assoc($termTypes), '#description' => t("Choose the terms you do not want displayed."), '#required' => FALSE, ); return system_settings_form($form); } しかし、私はこれを行うと気づきます: function custom_orders_admin_submit($form, &$form_state) { exit(var_dump($form_state)); } 終了できません。これはsystem_settings_form()、送信の面倒を見るからだと思います。コントロールを取り戻すにはどうすればよいですか?その_submitハンドラーでカスタム処理を行う必要があります...
14 7  forms 

3
クリック後に送信ボタンを無効にする方法は?
Drupalは、ノードページ上であっても、複数のフォーム送信を妨げないようです。このQAでは、サーバー側で修正することをお勧めします。 クリック後に送信ボタンを無効にするにはどうすればよいですか? 他のソリューションはありますか?
13 7  forms 

3
Drupalフォームにクライアント側のフォーム検証を追加するにはどうすればよいですか?
Drupalフォームにクライアント側のフォーム検証を追加するにはどうすればよいですか?たとえば、コメントモジュール。訪問者が電子メールアドレスを入力しない場合、「電子メールアドレスを入力してください」というウィンドウをポップアップ表示します。 誰かが私がこれをどのように行うかの例を与えてくれることを願っています。
13 7  forms 

3
hook_form_FORM_ID_alterでノードオブジェクトを取得する
この質問にフォローアップします が、コメントで説明を求めるのに十分な評判がありません。 寄稿されたモジュールをDrupal 8に移植しています。上記のCRおよび投稿で推測されたコードは機能していません。 $node = $form_state->getFormObject()->getEntity(); $ node変数には何もロードされません。 PHPStorm IDEがgetEntity()に対して警告を表示します。メソッド 'getEntity'がクラスDrupal \ Core \ Form \ FormInterfaceで見つかりませんless ...参照メソッドがサブジェクトクラスで見つかりません。 また、コード補完のためにこのメソッドを提示していません。 使用原因では、私は参照しています: use Drupal\Core\Entity; use Drupal\Core\Entity\EntityInterface; use Drupal\node\Entity\Node; use Drupal\Core\Render\Element;
13 8  forms 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.