Как закрыть браузер после отправки формы?

Я пытаюсь отправить форму, а затем браузер должен закрыться. Но я не могу понять, почему это не сработает. По какой-то причине он закроет окно, но не отправит форму.

$('.cancel-confirm').on('click', function () {
    $(this).closest('form').submit();
    alert('Submitted - your window will now close');
    window.close();
});
<form asp-action = "CancelActivity" method = "post" class = "absolute ff f-36 foreground-white" style = "right:5em; top:20%;">
    <input type = "hidden" name = "ActivityID" value = "@item.Activityid" />
    <input type = "hidden" name = "status" value = "@(item.IsCancelled == true ? "false" : "true")" />
    <button class = "btn ff f-22 background-transparant foreground-black cancel-confirm" type = "submit"> @(item.IsCancelled == true ? "Genaktiver" : "Deaktiver") </button>
</form>

Пытался отправить форму с помощью jQuery, а затем закрыть окно

Спасибо за ответ. Окно закрывается, но форма не отправляется

BananKongen 02.12.2022 00:29
alert действительно портит порядок вашего кода.
code 02.12.2022 00:30

Я пробовал с и без, но все еще не отправляет форму по какой-то причине

BananKongen 02.12.2022 00:31
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
3
65
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

попробуйте поместить идентификатор в свою форму,

$('#form-id').submit(function () {
    window.close();
});

Спасибо за ответ. Он делает закрытие, но не отправляет форму перед закрытием

BananKongen 02.12.2022 11:45

Попробуйте использовать ajax-запрос, а после этого добавьте window.close(), success:()=>window.close()

Nagonus Lrak 02.12.2022 23:02
Ответ принят как подходящий

Я вижу, вы используете jQuery, вы можете использовать ajax

$('.cancel-confirm').on('click', function () {
    $.post( "yourprocessor.php", { name: "Your Name", sex: "Male" })
      .done(function( data ) {
        alert('Submitted - your window will now close');
        window.close();
      });    
});

затем обработайте отправленную форму.

Другие вопросы по теме