return jConfirm('Can you confirm this?', 'Confirmation Dialog', function(r) {
return r;
});
Может быть? jQuery требует, чтобы вы возвращали «false» из функции .click, чтобы остановить действие по умолчанию, и сейчас вы ничего не возвращаете из этой функции.
* РЕДАКТИРОВАТЬ *
Я только что посмотрел на jConfirm, и из-за того, как он работает (в частности, потому что он ничего не возвращает; он может только вернуть значение посредством обратного вызова), невозможно использовать его так, как вы хотите. Вместо этого вам нужно ВСЕГДА возвращать false из вашего обработчика onclick, а затем в обратном вызове jConfirm вручную вызывать отправку формы.
Пример:
$(document).ready(function(){
// catch submit
$(".submit_image").click(function(e){
jConfirm('Can you confirm this?', 'Confirmation Dialog', function(r) {
// If they confirmed, manually trigger a form submission
if (r) $(".submit_image").parents("FORM").submit();
});
// Always return false here since we don't know what jConfirm is going to do
return false;
});
});