Поведение по умолчанию для HTML-форм (то, что вы запускаете с помощью .submit()
, - это немедленно следовать за действием формы после завершения начального действия. Чтобы переопределить это, вы должны предпринять шаги, чтобы заставить его работать как вы ' Я ожидал, делая одно представление за другим.
Сложность вашего текущего процесса заключается в том, что вы не разрешаете получать какие-либо отзывы в случае неудачной отправки. В результате отправки нет индикатора, который позволяет представлению уведомлять пользователя о проблеме, и при этом нет ничего, что препятствовало бы слепой отправке вторым в случае сбоя первого.
Два способа сделать это возможным:
- Объедините формы. Возможно, это идет вразрез с вашим дизайном кода, однако
- Гнездо Аякса подчиняется. Это позволяет получать динамическую «обратную связь» с представлением и запускать / останавливать вторую отправку в зависимости от успешности первой, без переопределения действия по умолчанию с номером 2.
Некоторые соображения:
- если вы используете кнопку внутри формы, она отправит форму по умолчанию, если вы не выполните «переопределение по умолчанию»
- Если вы идете по маршруту ajax, используйте
.serialize()
в вашей форме, чтобы получить значения без необходимости указывать их id по id