wiltim Ответов: 1

Html-форма выполняет два действия?


Хорошо...я уверен, что на этот вопрос где-то был дан ответ, но я не могу его найти. Так что заранее спасибо вам, гуру кодирования!

Итак, у меня есть HTML-форма с действием, ссылающимся на formspree. Одним из недостатков formspree является невозможность отправить автоответчик по электронной почте на основе ввода, введенного в поле "электронная почта".

Как я могу заставить форму отправить форму в formspree и отправить автоматический ответ? Ниже приведен мой код для формы:

*********************
<form action="https://formspree.io/xxxxxxxxxx@xxxx.com"  method="POST">   			
<label for="name">Name: <span class="required">*</span></label>
            <input type="text" id="name" Name="Name" value="" placeholder="John Doe" required="required" autofocus />
            <label for="email">Email Address: <span class="required">*</span></label>
            <input type="email" id="email" name="E-mail" value="" placeholder="johndoe@example.com" required="required" />
            <label for="telephone">Contact Number: </label>
            <input type="tel" id="Telephone" name="Telephone" value="" />
            <label for="contact">Preferred Contact Method: </label>
            <select id="contact" name="Preferred Contact Method:">
              <option value="email">Email</option>
              <option value="phone">Phone - During the Day</option>
              <option value="phone">Phone - In the Eveneing</option>
              <option value="phone">Phone - Anytime</option>
            </select>
            <label for="enquiry">Purpose: </label>
            <select id="enquiry" name="Reason:">
              <option value="general">General Info</option>
              <option value="offer">Introductory Offer</option>
              <option value="experienced">Experienced CrossFitter</option>
              <option value="feedback">Your Feedback</option>
            </select>
            <label for="message">Message: <span class="required">*</span></label>
            <textarea id="message" name="Message" placeholder="Your message must be greater than 20 charcters" required data-minlength="20"></textarea>
            <span id="loading"></span>
            <input type="submit" value="SUBMIT"  id="submit-button" />
            <p id="req-field-desc"><span class="required">*</span> indicates a required field</p>
</form> 

**************************

Что я уже пробовал:

Исследование и "onclick", но поскольку ввод для отправки не является кнопкой, я не думаю,что onclick работает

1 Ответов

Рейтинг:
2

Thomas Daniels

Вы не можете сделать это с помощью HTML или JavaScript-или Formspree. Если вы используете серверный язык (т. е. ASP.NET кроме того, вам лучше установить "действие" на что - то на вашем собственном сервере, прочитать оттуда адрес электронной почты и отправить туда электронное письмо-но поскольку вы используете formspree, я не думаю, что вы используете серверный язык.

Однако есть альтернативы, если вы не используете серверный язык:


  • Используйте почтовый клиент, поддерживающий сценарии, напишите сценарий, который обрабатывает входящую электронную почту из формы, извлекает адрес электронной почты и отвечает. Однако ваш компьютер и клиент должны быть включены все время, иначе у вас не будет мгновенных ответов.
  • Если вы не хотите использовать почтовый клиент, вы можете выбрать язык программирования для написания некоторого программного обеспечения, которое взаимодействует с почтовым сервером вашего адреса электронной почты (посмотрите протоколы IMAP или POP3) и обрабатывает электронные письма следующим образом. Это, конечно, сложнее, чем сценарий почтового клиента, потому что вам также приходится иметь дело с коммуникацией почтового сервера. И опять же, вам нужно, чтобы это работало 24/7, чтобы гарантировать мгновенные ответы.


wiltim

Хорошо ... продолжайте свой ответ.

Используя, скажем, PHP, могу ли я использовать там два действия?

Поэтому для моего действия Используйте что-то вроде 'action="twoactions.php" а в PHP-скрипте он должен отправить форму в formspree и отправить автоматический ответ?

Или было бы проще просто перестать использовать formspree все вместе и использовать пользовательский скрипт из моей формы?

Самое приятное в formspree то, что это легко...Я просто говорю ему, куда отправить данные формы, и он делает все это за меня. но если это создает больше проблем в будущем, я бы предпочел сделать шаг сейчас, чем заниматься этим позже

Thomas Daniels

Вы не используете два действия с помощью HTML; вы используете одно действие и позволяете php-скрипту делать все, что он должен делать. Если вы используете PHP, вам даже больше не нужно formspree, потому что вы можете просто использовать свой собственный сервер.