我正在處理一個塊模塊,並希望在通過managed_file字段上傳文件時對其配置表單執行ajax操作。如何訪問ajax回調函數內部的表單狀態
所以當managed_file隱藏字段發生變化時(一旦文件成功上傳),就會出現ajax回調。的AJAX調用這樣的:
function updateVideo($action){
(function ($) {
$.ajax({
url: '/block_video/update_video', // drupal menu path
dataType: 'json',
type: 'POST',
data: { 'action' : $action },
success: function(data){
// @ TODO
}
});
})(jQuery);
}
上述(/ block_video/update_video)註冊Drupal的路徑調用一個函數,其中我想與它的當前狀態檢索塊配置$ form_state變量(未初始)。是否有可能直接看到當前塊配置表單狀態而不直接使用JavaScript,也沒有調用頁面刷新?
對於我來說,在managed_file上使用'#ajax'屬性會更簡單,但它沒有它。所以我通過在managed_file隱藏元素上等待值更改並且該部分正在工作(使用在此描述的方法http://forum.jquery.com/topic/adding-a-change-event-on-a-hidden-field)來添加上面的ajax回調。
我應該能夠在我的自定義ajax回調中檢索$ form_state。我想這樣做與FAPI [#ajax] [回調]完成($ form & $ form_state傳遞給回調參數 - 我只需要傳遞給我的回調或訪問它的當前$ form_state) ,我無法確定Drupal是如何完成的。
也許有人可以幫我碰巧...
謝謝。