Tôi có một đầu vào nút FAPI cơ bản được kích hoạt #ajax và nó hoạt động tốt, nhưng tôi muốn thêm một mã "Bạn có chắc không?" cửa sổ bật lên xác nhận khi nhấp vào nút trước khi mã thực sự chạy và tôi không biết phải làm thế nào vì JS của FAPI dường như đang ăn nhấp chuột trước khi tôi có thể làm được điều đó cho dù tôi có làm gì đi nữa.
Tôi đã thử thêm một trình xử lý onclick nội tuyến, như vậy:
$form['search_filters']['channels']['channel_delete_' . $channel->nid] = array(
'#type' => 'button',
'#name' => 'channel_delete_' . $channel->nid,
'#value' => 'Delete',
'#attributes' => array(
'class' => array('confirm'),
'onclick' => "return confirm('Are you sure you want to delete that?')"
),
'#button_type' => 'no-submit',
'#ajax' => array(
'callback' => 'delete_channel_callback',
'wrapper' => 'channel_container_' . $channel->nid
),
);
... không giúp được gì và tôi cũng đã thử thêm:
$('.confirm').click(function(e) {
e.preventDefault();
alert('Is this recognized')? // never runs
});
trong mô-đun JS của tôi cũng bị bỏ qua.
Còn ý tưởng nào khác không? Có cách nào để thêm trình xử lý trình lên đầu ngăn xếp mà Drupal #ajax sẽ nhận ra không?