Drupalにはこのajaxフレームワークが組み込まれています。だから、私はその後、最終的にDOMをmanupulateするために、いくつかの方法で、DrupalのAjaxフレームワークによって処理されますDrupalファイルモジュール内のDOMで何が起こったのですかajax upload
$commands = array();
$commands[] = ajax_command_replace(NULL, theme('status_messages'));
return array('#type' => 'ajax', '#commands' => $commands);
出力のようにコマンドを使用して、コールバック関数を書くことができます。上記の関数_replace
は、いくつかのラッパーIDに基づいてDOM内の何かを置き換えます。
上記のコードは、Drupalに同梱されているfile
モジュールのものです。新しいファイルをアップロードすると、フォームが更新され、フォームに新しいファイルが挿入されたことを示します。
ドキュメントによると、最初の引数はNULL
となり、selector
となります。私は特に、このfile
モジュールが最終的な結果としてDOM要素を挿入できるようにラッパーIDをどのように計算するのか知ることに興味があります。
Drupalは「セレクタ」として何を置き換えるべきかを知っていますか?トリガーボタン要素のラッパー要素?ファイルフィールド全体が置き換えられたように見えます。それは全体の子フォームですか? – Hao
$ ajax_settings ['wrapper']で指定されたラッパーを置き換える必要があります – Zolyboy