Подчинение формы на основе выпадающего списка - PullRequest
0 голосов
/ 25 февраля 2011

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

Пример :) [раскрывающийся список: IT / Sales / HR] Если вы выбрали IT, то перейдите по адресу IT@example.com. При выборе «Продажи» из выпадающего списка форма отправит данные на sales@example.com и т. Д. на.

Я видел несколько ответов php, но я ограничен системой управления контентом и должен делать это в JavaScript.

Любая помощь будет великолепна.

Ответы [ 3 ]

1 голос
/ 25 февраля 2011

В качестве значений для опций выбора должны быть указаны электронные письма

<select id="mailTo" name="mailTo">
  <option value="IT@example.com">IT</option>
  <option value="sales@example.com">Sales</option>
  <option value="HR@example.com">Human Resources</option>
</select>
1 голос
/ 25 февраля 2011

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

  • отправка данных вашей электронной почты в сценарий cgi на сервере, который отправит электронное письмо
  • , либо выполнение обратной отправки на ваш php, aspПриложение .net и т. д., настроенное на отправку электронной почты с помощью вашего провайдера электронной почты.

Если ни один из этих вариантов не подходит, существуют онлайн-ресурсы, где вы можете создать форму для отправки электронного письма, иэто даст вам код для встраивания в ваш HTML.Вот два из быстрого поиска в Google: simfatic , formlogix Есть много других, если вы гуглите вокруг.

Надеюсь, это поможет!

0 голосов
/ 25 февраля 2011

Формы не «отправляются на электронную почту» - вам необходимо отправить на сервер, где вы отправляете электронную почту через PHP (или другой серверный язык). Прямой способ отправки форм по электронной почте только из javascript отсутствует.

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

PHP (test.php)

 $to = $_POST['destination_email'];
 $subject = "Test email";
 $body = "Email sent from website";
 $res = mail($to, $subject, $body);
 if (!$res)
   die('email failed');
 else
   die('email sent');

HTML

<form action="test.php" method="post">
  <select name="destination_email">
   <option value="emailone@domain.com">Email one</option>
   <option value="emailtwo@domain.com">Email two</option>
  </select>
  <input type="submit" value="submit" />
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...