入力フォームで#ajax使用時、#default_valueを書き換えても反映しない

カテゴリ コンテンツの作成 コアバージョン 7.26 関連モジュール Form Ajax

Form内で以下のように#ajaxを定義

$form[{from_field_name}]["und"]["#ajax"] = array(
 "callback" => "{callback_function_name}",
 "wrapper" => "{wrapper_name}",
 "method" => "replace",
 "effect" => "fade",
 "event" => "change",
);

Ajax実行時の関数「{callback_function_name}」内で下記のように#default_valueを指定しても反映しません。

function {callback_function_name}($form, $form_state) {
 〜
 $form[{wrapper_name}][{to_field_name}]['und']['#default_value'] = array({change_value});
 〜
 return $form[{wrapper_name}];
}

コメント

ユーザー actbrain の写真

#ajax先の設定値を変更するには#default_valueではなく#valueで設定します。

$form[{wrapper_name}][{to_field_name}]['und']['#default_value'] = array({change_value});
↑ではなく
↓のように指定する
$form[{wrapper_name}][{to_field_name}]['und']['#value'] = array({change_value});

ページ

OTHER FAQ

Drupal開発・運用の疑問/質問の答えはここに

無料ユーザー登録すると質問できます。

カテゴリ Core Ver.昇順で並び替える 関連モジュール タイトル
コンテンツの作成 8.4x archiver zipファイル圧縮・解凍する方法
Views 8.4x hook_views_query_alter Viewsクエリの条件式にサブクエリを追加する方法
Initial 8.4x Subscriber hook_init() 〜 drupal_goto() を drupal8でやる方法
コンテンツの管理 8.4x Entity EntityをPropertyで探す(クエリする)方法
コンテンツの作成 8.4x コンテンツ作成時のフォームレイアウトの変更
テーマ 8.4x hook_preprocess_html bodyタグにnode idやaliasのClassを追加する方法
テーマ 8.3x Theme drupal8 で パスに応じたページテンプレート名を利用する方法
テーマ 8.3x Core Twig開発用の設定
PHP 8.3x PHP drupa8でhook_init()する方法
テーマ 8.3x Block Cache Theme 管理ページから作成したカスタムブロックを非キャッシュ化する方法
拡張機能 8.3x Contribute modules drupal8-寄贈モジュールの動向
Custom module 8.3x Custom module Twig Block Cache カスタムモジュールのレンダリングを非キャッシュ化する方法
テーマ 8.3x Contribute themes drupal8-寄贈テーマの動向
サイトの構築 8.3x Webform Webformモジュール メールアドレスの入力ミス確認
サイトの環境設定 7.59 さくらのレンタルサーバー php Options さくらのレンタルサーバーで パブリック/プライベートディレクトリにファイルが書き込まれないとき
サイトの構築 7.59 Drupal.ajax drupal 7 で Uncaught TypeError: Drupal.ajax is undefined となったときの対応方法
ユーザの管理 7.59 user pass drupal 7 で 管理者(uid=1)パスワードがわからなくなったとき 新しいパスワードを設定する方法
Proxy 7.59 Proxy Apache settings.php リバースプロキシ(Apache)+バックグランドWeb(Drupal 7 )でログインセッションを維持する方法
テーマ 7.56 field レンダリング配列内に「ラベル非表示」を指定する方法
drush 7.54 Drush Drushでdrupalサイトをインストールする方法

ページ