我有一个已启用#ajax的基本FAPI按钮输入,并且工作正常,但是我想添加一个JS“您确定吗?” 在代码实际运行之前单击该按钮时会弹出确认对话框,我不确定该怎么做,因为无论我做什么,FAPI的JS似乎都在吞噬单击之前的内容。
我尝试添加一个内联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可以识别的堆栈顶部?