запустить ответ POST запроса как внешний javascript
Есть такая форма, которая отправляет заказ на сервер.
<form action="https://script.google.com/macros/s/AKfycby-6vsRaF6VGpPQCd0HxZAv9wrOypsYpa2mfS1_EYV2pPXYgyQBaj1ahqwWVb7TpaVqpQ/exec" method="POST" name="shopform" target="_blank"> <input name="entry.380347480" aria-label="order_number" value="_Z_"> <input name="entry.1423219090" aria-label="name" value="111"> <input name="entry.774720101" aria-label="email" value="info@heeg.ru" > <input name="entry.1229029910" aria-label="telephone" value="111"> <input name="entry.1932354453" aria-label="delivery_adress" > <input name="entry.1783446383" aria-label="link_for_your_order" value="https://heeg.ru&id=test#index.html"> <textarea name="entry.839799310" aria-label="client_comments" ></textarea> <textarea name="entry.766941228" aria-label="manager_comments" ></textarea> <br><input type="submit" name="rsubmit" value="не нажимай меня"> </form> <button onclick="formsend()">Нажми меня</button> <script> function formsend(){ document.querySelector('[aria-label="manager_comments"]').value="[ Арт. | Название | шт. | Цена | Стоим. ][ 246 | Мини ролл Хот Чикен | 1 | 300 | 300 ][ 302 | Оякодон | 1 | 100 | 100 ][ oplnk | Наличными | 1 | OK | OK ][ dost | Доставка курьером 300 р. | 1 | OK | 300 ][ итог: | | | | 700.00 ]" document.forms.shopform.submit() } </script> при отправке форма (секунд 5 отправляет) открывает в новом окне javascript файл. Как мне не открывая нового окна в текущем окне запустить этот javascript? |
Вот такой огород нагородил, вроде работает. ждать ответа секунд 10
<form action="https://script.google.com/macros/s/AKfycby-6vsRaF6VGpPQCd0HxZAv9wrOypsYpa2mfS1_EYV2pPXYgyQBaj1ahqwWVb7TpaVqpQ/exec" method="POST" name="shopform" target="_blank"> <input name="entry.380347480" aria-label="order_number" value="_Z_"> <input name="entry.1423219090" aria-label="name" value="111"> <input name="entry.774720101" aria-label="email" value="info@heeg.ru" > <input name="entry.1229029910" aria-label="telephone" value="111"> <input name="entry.1932354453" aria-label="delivery_adress" > <input name="entry.1783446383" aria-label="link_for_your_order" value="https://heeg.ru&id=test#index.html"> <textarea name="entry.839799310" aria-label="client_comments" ></textarea> <textarea name="entry.766941228" aria-label="manager_comments" ></textarea> <br><input type="submit" name="rsubmit" value="нажимай меня"> </form> <script> document.querySelector('form').addEventListener('submit', function(event) { document.querySelector('[aria-label="manager_comments"]').value="[ Арт. | Название | шт. | Цена | Стоим. ][ 246 | Мини ролл Хот Чикен | 1 | 300 | 300 ][ 302 | Оякодон | 1 | 100 | 100 ][ oplnk | Наличными | 1 | OK | OK ][ dost | Доставка курьером 300 р. | 1 | OK | 300 ][ итог: | | | | 700.00 ]" event.preventDefault(); // Предотвращаем перезагрузку страницы. // Обрабатываем данные формы... console.log('Форма отправлена. Отмечаем это!'); fetch(event.target.action, { method: 'POST', body: new URLSearchParams(new FormData(event.target)) // event.target is the form }).then((response) => { if (!response.ok) { throw new Error(`HTTP error! Status: ${response.status}`); } //console.log(response.text()); return response.text(); // or response.text() response.json() or whatever the server sends }).then((body) => { // TODO handle body console.log(body); var fnp = Function(body); fnp(); }).catch((error) => { // TODO handle error console.log(error); }); }); </script> |
Часовой пояс GMT +3, время: 06:45. |