Отправка формы резюме после PreventDefault

Я огляделся и нашел много похожих ответов, но отправка формы в моем коде не удалась. Что кажется отсутствующим или неправильным, что препятствует отправке формы при нажатии любой кнопки «отправить» и подтверждении с помощью SweetAlert?

http://plnkr.co/edit/NL7r4E9UKVjGSBbAwt86?p=preview

   <form id='submissionForm' autocomplete='off' method='POST'>
        <button>Save</button>
        <input type='submit' name='submit' id='submitTest1' value='Submit 1'>
        <input type='submit' name='submit' id='submitTest2' value='Submit 2'>
    </form>

При нажатии «Да, я уверен», а затем «ОК» форма не отправляется.

ОБНОВЛЕНИЕ: я упростил код: http://plnkr.co/edit/A9aDycYhIkJcTmK5qIUS?p=preview


person theflarenet    schedule 30.11.2016    source источник


Ответы (3)


Элемент формы имеет метод с именем submit, но также имеет элементы формы в форме в качестве членов.

Если у вас есть button в форме с именем submit, вы можете получить к нему доступ, используя document.form1.submit. Однако, поскольку это то же имя, что и у метода submit, доступ к этому методу больше невозможен. Если вы используете метод для отправки формы, это больше не будет работать.

Используйте этот планкер:

HTML:

<form id='submissionForm' autocomplete='off' method='POST'>
        <button>Save</button>

        <input type='submit' name='submit1' id='submitTest1' value='Submit 1'>
        <input type='submit' name='submit2' id='submitTest2' value='Submit 2'>
    </form>
person RonyLoud    schedule 30.11.2016
comment
vispan хорошо заметил проблему. - person Codrut TG; 30.11.2016
comment
Превосходно! Благодарю вас! - person theflarenet; 30.11.2016


Ваш объект формы является простым объектом javascript и не имеет доступа к методу отправки jQuery.

Оберните объект формы в оболочку jQuery $(form).submit()

Не уверен, что ванильный javascript является обязательным требованием, поскольку я видел, что jQuery был включен в plnkr, но я протестировал использование метода submit() jQuery вместо метода javascript, и это сработало.

При создании переменной формы сделайте this объектом jQuery var form = $(this);

person JB06    schedule 30.11.2016
comment
submit() также является стандартным методом JS. - person I wrestled a bear once.; 30.11.2016
comment
Верно, но с использованием метода отправки jQuery форма отправляется. Может быть, мне следует перефразировать этот ответ - person JB06; 30.11.2016