我正在使用Drupal 7字段API通過AJAX重新加載部分表單。我有一個按鈕可以進行通話,但是我想刪除它並以編程方式進行通話作爲對特定事件的響應。這裏是我的AJAX按鈕的代碼:Drupal 7 Field API:如何以編程方式發送表單元素的#ajax屬性中指定的AJAX請求?
$form['documents']['reload_document_list_button'] = array(
'#type' => 'button',
'#value' => 'Обновить список документов',
'#ajax' => array(
'callback' => 'reload_document_list',
'wrapper' => 'document-list',
'method' => 'replace',
),
);
(見http://api.drupal.org/api/drupal/developer!topics!forms_api_reference.html/7#ajax瞭解詳細信息)有沒有辦法做到這一點?
P.S.我知道我可以設置按鈕的樣式,使其不可見,並觸發'點擊'事件,但我正在尋找一種更好的方式來做到這一點。
Amar,謝謝你的回覆!現在我決定使用第一個建議,但不是創建自定義事件,而是觸發'mousedown'事件。至於第二個建議,是的,這是可能的,我知道如何去做,但我希望儘可能地接近Drupal Form API框架,包括它的Javascript部分,但不幸的是,它根本沒有記錄。這就是爲什麼我更喜歡第一種解決方案。 – bandolero
這解決了我遇到的問題,非常感謝!我試圖通過觸發按鈕上的單擊事件來觸發Ajax調用,但沒有發生任何事情。將它更改爲mousedown是一種享受。 –