Tôi đang kết xuất ajax link như sau:
l(t('Click here'), 'mypath', array('attributes' => array('id' => 'my-id', 'class' => array('use-ajax'))));
Làm thế nào để hiển thị hộp thoại xác nhận trước khi yêu cầu ajax được gọi?
Tôi làm điều đó như sau trong javascript, như tôi đã tìm thấy trên chủ đề này :
Drupal.behaviors.module = {
attach: function() {
Drupal.ajax['my-id'].beforeSerialize = function () {
if(confirm('Are you sure?'))
return true;
else
return false;
}
}
}
Khi tôi nhấp vào liên kết, yêu cầu ajax không được gọi nhưng hộp thoại xuất hiện. Không sao. Vấn đề là, sau khi tôi bấm "Hủy" trong hộp thoại xác nhận, yêu cầu Ajax sẽ được gọi sau khi đóng hộp thoại xác nhận.
Ai có thể giúp đỡ, làm thế nào để hộp thoại xác nhận hoạt động?
options.beforeSerialize
hoặcoptions.beforeSubmit
thaybeforeSerialize
thế? Tài liệu khá tệ và tôi không chắc chắn cách nào trong 3 điều này là đúng, nhưng bạn sẽ mất ít hơn 5 phút để kiểm tra cả hai.