Я хочу всплывать jQuery Ui Dialog, но он не работает. Вместо диалога я открываю новую страницу. Мой код следующий:ZF2 - показать jQuery Ui Dialog
действие контроллера:
public function diaAction()
{
$viewModel = new ViewModel();
$viewModel->setTerminal(true);
return new ViewModel();
}
index.phtml:
<a class="some-link" title="title here" href="<?= $this->url('dialog', array('action' => 'dia'))?>">open form</a>
dia.phtml (диалог код)
<script type="text/javascript">
$(document).ready(function() {
$('.some-link').each(function() {
var $link = $(this);
var $dialog = $('<div></div>')
.load($link.attr('href'))
.dialog({
autoOpen: false,
title: $link.attr('title'),
});
});
});
</script>
Я просто не понимаю это, почему это не так просто, как должно быть. Любая помощь?
Я пробовал так, но это не работает. Он по-прежнему открывает новую страницу. – Orochi
Тогда в вашем JavaScript должна быть ошибка. 'e.preventDefault()', это первое, что происходит, когда вы нажимаете ссылку, и она выполняет именно то, что она заявляет, она предотвращает действие по умолчанию. Если это не так, JS вообще не выполняется, поэтому где-то раньше должна быть ошибка JS, ищите его :) – Sam
У меня есть простая кнопка формы zf2 (не кнопка отправки!) С классом «createContact» и успешно использовать пример, предоставленный @Sam: $ ('. createContact'). on ('click', function (e) {... .load (' php echo $ this-> url (' contact ', array ('action' => 'add'));?> ') ...} - Но по какой-то причине мне пришлось удалить параметр autoOpen: false. В противном случае диалог не откроется после того, как ссылка будет загружена через AJAX. – webDEVILopers