HTML форма, таблица Google и PHP конфликт страницы подтверждения - PullRequest
1 голос
/ 26 февраля 2020

У меня есть форма HTML, электронная таблица Google и страница подтверждения PHP. Форма отправляет данные на лист и после «отправки» возвращает страницу подтверждения, на которой воспроизводится информация, предоставленная пользователем. Оба шага прекрасно работают отдельно, но я не могу заставить их работать вместе. Итак, это код HTML для формы:

<form name="submit-to-google-sheet" action="conf.php" method="post">
<input name="email" type="email" placeholder="Email" required><br>
<input name="name" type="text" placeholder="name"><br>
<input name="apple" type="checkbox" value="Yes"> Manzana<br>
<input name="orange" type="checkbox" value="Yes"> Naranja<br>
<input name="banana" type="checkbox" value="Yes"> Banana<br>
<button type="submit">Enviar</button>
<p id="response_message"></p>
</form>

Это сценарий, который подтверждает правильность отправки данных на лист. Он также вызывает страницу подтверждения, хотя ее пробелы, оставленные для предоставленных данных, становятся пустыми:

      const scriptURL = 'https://script.google.com/macros/s/AKfycbxJ9yXSrqqJCy82PV2eaIuNdfoLRWiayrBG1MT96n_av991Fuk/exec'
      const form = document.forms['submit-to-google-sheet']

      form.addEventListener('submit', e => { 
            e.preventDefault()
            fetch(scriptURL, {
                method: 'POST',
                body: new FormData(form)
              })
              .then(response => {
                  console.log('Success!', response );
                  window.location.href = "conf.php";
                }
              )
              .catch(error => console.error('Error!', error.message))
                      })

Однако, если я превратил window.location.href = "conf.php"; в function () {window.location.href = "conf.php";}, страница подтверждения верна с ожидаемой информацией, но форма не заполнить электронную таблицу. Я могу установить эту функцию в несколько строк, и эффект тот же.

Это соответствующий код страницы подтверждения, кстати:

<?php
    setlocale(LC_TIME,"es_ES.utf-8");
    echo 'Name: ' . $_POST ["name"] . '<br>';
    echo 'E-mail: ' . $_POST ["email"] . '<br><br>';
    echo 'You chose:' . '<br>';
    echo 'Apple: ' . $_POST ["apple"] . '<br>';
    echo 'Orange: ' . $_POST ["orange"] . '<br>';
    echo 'Banana: ' . $_POST ["banana"] . '<br>';
    echo strftime("Submition date: %A %e de %B de %Y a %H:%M") . '<br>';
    ?>

В чем моя ошибка? Большое спасибо заранее.

Pd: этот вопрос почти тот же , который я сделал недавно, но, кажется, он умер с парой ответов, но без решения. Может быть, я не был ясен сам. В любом случае, большое спасибо за эту помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...