Форма для отправки с 2 событиями - PullRequest
0 голосов
/ 09 января 2020

Я создал глобальную функцию для добавления эффекта загрузки к кнопкам отправки в моих формах:

// add loading effet for forms
$('form').not('.form-ajax').on('submit', function() {
    btnLoad($(this).find('button[type="submit"]'));
});

Он просто показывает загрузчик на кнопке отправки и отключает его.

Это работает, но иногда я хочу показать подтверждение перед отправкой:

<form method="post" 
    action="/delete/post"
    onsubmit="return confirm('Do you want to delete this post ?');"
>
    <input type="hidden" value="2" name="id" />
    <button type="submit">
        Delete post
    </button>
</form>

Таким образом, он показывает загрузчик на моей кнопке, но форма не отправляется, если пользователь нажимает нет в диалоговом окне подтверждения.

Могу ли я поймать это легко? Показывать загрузчик, если форма действительно отправлена?

1 Ответ

1 голос
/ 09 января 2020

тебе это поможет:

  <form method="post" 
        action="/delete/post"
        onsubmit="return validate(this);"
    >
        <input type="hidden" value="2" name="id" />
        <button type="submit">
            Delete post
        </button>
    </form>
    <script>
    function validate(form) {

        // validation code here ...


        if(!valid) {
            alert('Please correct the errors in the form!');
            return false;
        }
        else {
            return confirm('Do you really want to submit the form?');
        }
    }
    </script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...