У меня есть базовый ввод с помощью кнопки FAPI, который #ajax включен, и он работает нормально, но я хочу добавить JS "Вы уверены?" всплывающее окно с подтверждением при нажатии кнопки до того, как код действительно запустится, и я не уверен, как это сделать, потому что JS FAPI, кажется, съедает щелчок до того, как я могу получить его независимо от того, что я делаю.
Я попытался добавить встроенный обработчик onclick, вот так:
$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
),
);
... что не помогает, и я также попытался добавить:
$('.confirm').click(function(e) {
e.preventDefault();
alert('Is this recognized')? // never runs
});
в моем модуле JS, который также игнорируется.
Есть еще идеи? Есть ли способ добавить обработчик отправки в начало стека, который распознает Drupal #ajax?