入力フォームで#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.7.x Bartikのtwigについて
フォーム 8.7.x Webform WebformのCheckboxの要素にて表記の変更
コンテンツの作成 8.7.x CkEditor Creditorエディタ内に Colorboxポップアップ を簡単に挿入する方法
アップデート 8.7.2 menu drupal-core 8.7.2にupdateしたところ
Viewsプログラミング 8.6.x Views Drupal8 Viewsの動的キャッシュをクリアする方法
フォーム 8.6.x JavaScript 特定のformに動的にJavaScriptをロードする方法
Commerce2 8.6.x Commerce Order Commerceで注文情報から全Itemを得る方法
Commerce2 8.6.x Commerce Shipment Commerceで配送情報を得る方法
Commerce 8.6.x Commerce Payment Order Commerceで歴代購入数/金額を集計する方法
コンテンツの管理 8.6.x Commerce Commerce orderからすべての商品名を取得する方法
サイトの環境設定 8.6.x Simhony Yaml yamlファイルを読み込む方法
フォーム 8.6.x JavaScript 特定のformにJavaScriptを紐付ける方法
Commerce 8.6.x Commerce Payment Gateway オリジナルCommerce決済モジュール(Offsite)で決済サーバーへのPOST時のエンコードを変更する方法
コンテンツの管理 8.5.x Field File コンテンツのフィールドの表示について
Libraries 8.5.x Libraries Commerceで外部JavaScriptをテスト/本番で読み分ける方法
JavaScript 8.5.x PHP Commerce決済モジュール設定をJavaScriptにデータに渡す方法
サイトの構築 8.3x Webform Webformモジュール メールアドレスの入力ミス確認
Viewsプログラミング 8.4x Views drupal8におけるViewsプログラミング
サイト情報 8.4x JavaScript JavaScriptに変数を渡す方法
テーマ 8.4x hook_preprocess_html bodyタグにnode idやaliasのClassを追加する方法

ページ