Первое поле - это имя критика, второе поле - содержание критика. Когда я пишу что-то в поле заголовка, автоматически создает объект Critic в db. В этой ситуации у меня есть новая строка с новым критиком, но в fileld содержимого значение равно null. В этой ситуации появляется диалоговое окно подтверждения.Выполнение действия перед перенаправлением на шаблон в диалоговом окне подтверждения
Когда откроется диалоговое окно подтверждения, что мне нужно сделать, чтобы нажать кнопку «ОК» и, кроме перенаправления на новый шаблон, выполнить команду eliminarCriticaAction контроллера.
$('a').on('click', function(e) {
if(! $('#criTitulo').val() || ! $('#criContenido').val()) {
if (! $('#criTitulo').val() && $('#criContenido').val()) {
if(! window.confirm('Falta el titulo')) {
e.preventDefault();
}
}
else if (! $('#criContenido').val() && $('#criTitulo').val()) {
return confirm('Falta el contenido');
}
}
});
Удалить действие контроллера:
public function eliminarCriticaAction($pysStr)
{
$em = $this->getDoctrine()->getManager();
$pys = $em->getRepository('PYSBundle:Pys')->findPys($pysStr);
$usuario = $this->get('security.context')->getToken()->getUser();
$critica = $em->getRepository('UsuarioBundle:Usuario')->findCritica($usuario, $pys);
if(!$critica)
{
throw new AccessDeniedException("No hay ninguna crítica que borrar");
}
$em->remove($critica);
$em->flush();
}
EDIT
$('a').on('click', function(e) {
var titulo = $('#criTitulo').val(), contenido = $('#criContenido').val();
console.log(titulo);
console.log(contenido);
if ((titulo && !contenido) || (!titulo && contenido)) {
e.preventDefault();
console.log('Link clicked !');
if (window.confirm('Falta el titulo')) {
$.get(Routing.generate('eliminar_critica.' + $('html').attr('lang'), { "_locale": $('html').attr('lang'), "pysStr": $('section').attr('pelicula') }));
window.location.href = $(e.target).attr('href');
}
}
});
Да, этот код работает нормально, но то, что я ищу, - это deleteAction, вызываемый при нажатии кнопки «ok», а не «cancel». –
скорректировал мой ответ, теперь он должен активировать OK, а не отменять – Flip
Я только что редактировал код вопроса. Теперь, когда вы нажимаете кнопку «ok», он эффективно выполняет «else», и если я набираю console.log, появляется сообщение. Но функция удаления не выполняется. –