ファイルが正常にアップロードされたときに呼び出されるmanaged_fileフォーム要素のJavascript/PHPコールバックはありますか? (つまり、フォームが送信されたときではなく、[アップロード]ボタンがクリックされたときです。)
$form['video'] = array(
'#title' => t('Video'),
'#type' => 'managed_file',
'#default_value' => variable_get('image_example_image_fid', ''),
'#upload_location' => 'public://temp_managed/',
);
私が試してみました:
PHP側の場合、#upload_validatorsを Form APIのドキュメントで説明)として使用 。アップロードした後、希望どおりに起動されます。Drupalユーザーの入力と実際のフォームの保存との間に発生するはずのすべてがバリデーターで発生します。かなり奇妙ですが、それはそうです。
JavaScriptパーツの場合、要素の説明は次のようになります。
#managed_file要素は、2つの「#submit」ボタンを含む一連のFAPI要素に展開され、1つは削除用のアップロード、「#file」要素、およびいくつかの「#hidden」および「#markup」要素が進行状況の表示を処理しますアップロード済みのファイルの表示。
したがって、「#ajax」プロパティはありませんが、独自のカスタムコードを使用して内部にアクセスできます。特に、ファイルのアップロードが成功すると、削除ボタンが表示されます。ただし、内部は予告なくリファクタリングされる可能性があるため、注意が必要です。
PHP: hook_field_widget_form_alter() は ImageInfo Cache がPHP側にアップロードされた直後にファイルを取得するために使用します。私は this#process callback を追加します callback を #submit button に追加します。画像がアップロードされた直後に、バックグラウンドプロセスで画像スタイルを生成します。
もっと野蛮な方法が欲しいならfile_get_contents("php://input")
&$_POST
は、必要なすべてのものへのアクセスを提供します。これはお勧めできません&悪い考えです。 PHPラッパー に関する詳細情報。