#php #jquery #ajax #wordpress #modal-dialog
#php #jquery #ajax #wordpress #модальный диалог
Вопрос:
Я пытаюсь заставить работать всплывающую кнопку отправки, но я не совсем нашел решение, которое ищу.
Я использую модальный плагин jquery, чтобы показать клиенту содержание их изменений, прежде чем они их отправят. Однако, когда я пытаюсь отправить, ничего не происходит. Кнопка отправки существует во всплывающем окне, тогда как кнопка .modify — это кнопка, которая открывает его. У меня нет проблем с самим всплывающим окном.
Мой консольный тест печатается, поэтому я знаю, что с моим прослушивателем событий все в порядке. Может быть, это как-то связано с event.preventDefault()?
Заранее спасибо.
Вот мой код
Серверная часть
jQuery(".modify").click(function() {
event.preventDefault();
var submit = confirm('Are you sure?');
<?php
$post_ids = array();
while($author_entry_posts->have_posts()) : $author_entry_posts->the_post();
array_push($post_ids, get_the_ID());
endwhile;
?>
if (submit == true) {
var data = {
'action': 'modalcall',
'postid': <?php echo json_encode($post_ids)?>,
'userid': <?php echo get_current_user_id() ?>
};
jQuery.post(ajaxurl, data, function(response) {
jQuery(response).appendTo('body').modal();
//Script which handles the submit button on the modal pop-up
jQuery(".modal_submit").click(function() {
console.log("test");
jQuery().submit();
});
});
} else {
return false;
}
});
Интерфейс
<input type="submit" name="submit" value="Submit" class="button modal_submit">
Ответ №1:
В вашем обработчике для нажатия на модальную отправку вы не определяете, какая форма должна быть отправлена.
jQuery(".modal_submit").click(function() {
console.log("test");
jQuery().submit(); // you are not defining which form to submit.
});
Вместо <input type="submit" name="submit" value="Submit" class="button modal_submit">
этого он должен находиться внутри формы, которую необходимо отправить, вызвав для нее jquery submit.
jQuery(".modal_submit").click(function() {
console.log("test");
$(this).closest('form').submit(); // asking to submit the form which contains this button
});
Комментарии:
1. Я должен был это понять. Большое вам спасибо за вашу помощь.