Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как обработать ошибки отправки формы, чтобы они были видны не в консоли а в Alert? (https://javascript.ru/forum/dom-window/79811-kak-obrabotat-oshibki-otpravki-formy-chtoby-oni-byli-vidny-ne-v-konsoli-v-alert.html)

sovsem-nub 28.03.2020 15:00

Как обработать ошибки отправки формы, чтобы они были видны не в консоли а в Alert?
 
Есть гугл форма - очень простая

<iframe name="my_iframe" style="display:none"></iframe>
<form action="https://docs.google.com/forms/d/1pJurUITzZ68lrhRHF9C1dlFgtbLFQIf_WQh99gJcRqk/formResponse" method="POST" target="my_iframe" >
order_number <input name="entry.380347480" aria-label="order_number" ><br>
name<input name="entry.1423219090" aria-label="name" ><br>
email <input name="entry.774720101" aria-label="email" ><br>
telephone <input name="entry.1229029910" aria-label="telephone" ><br>
delivery_adress <input name="entry.1932354453" aria-label="delivery_adress" ><br>
link_for_your_order <input name="entry.1783446383" aria-label="link_for_your_order" ><br>
client_comments <textarea name="entry.839799310" aria-label="client_comments" ></textarea><br>
manager_comments<textarea name="entry.766941228" aria-label="manager_comments" ></textarea><br>
<input type="submit" name="rsubmit" value="Готово"><br>
</form>



Если ее правильно заполнить (указать в правильном виде номер заказа, телефон , почту итд), то она отправляет заказ в эту таблицу https://docs.google.com/spreadsheets...#gid=920461885 .
и пишет в консоли
Код:

Uncaught Could not establish connection. Receiving end does not exist.
И в табличке появляется заказ. (вроде ошибка есть, а заказ уходит)


А если заполнить неправильно , то ничего не происходит, а в консоли пишутся красные ошибки. Например
Код:

formResponse:1 Failed to load resource: the server responded with a status of 400 ()
если отрубить интернет, то вообще никакой ошибки в консоли хрома нет.



Как сделать так, чтобы при успешной отправке выводило "отправлено"
а если гугл эту форму не ест или адрес неверный или интернета нет, выводило "что-то не так..."

sovsem-nub 28.03.2020 15:23

или можно как-то хотя бы проверить есть доступ к форме по адресу https://docs.google.com/forms/d/1pJu...k/formResponse или нет. Если нет, то либо интернета нет, либо формы нет.

Vlasenko Fedor 28.03.2020 19:26

перепишите этот запрос отправкой аякс, там и отлавливайте

voraa 28.03.2020 21:05

Цитата:

Сообщение от Poznakomlus (Сообщение 521878)
перепишите этот запрос отправкой аякс, там и отлавливайте

Может не сработать.
"XMLHttpRequest и Fetch API следуют политике одного источника (same-origin policy). Это значит, что web-приложения, использующие такие API, могут запрашивать HTTP-ресурсы только с того домена, с которого были загружены, пока не будут использованы CORS-заголовки.
https://developer.mozilla.org/ru/docs/Web/HTTP/CORS


Часовой пояс GMT +3, время: 00:16.