JavaScript для HTML-формы

Я простая душа с простыми потребностями, и я пытаюсь настроить форму. Я ненавижу формы.

Он должен иметь JavaScript для передачи данных, ему необходимо отправить электронное письмо с данными на адрес электронной почты, и ему необходимо перенаправить посетителей на PDF-файл. CGI всегда сбивал меня с толку, а я плохо разбираюсь в JavaScript.

Я уже сделал html, но действие post и JavaScript меня убивают. Прошло 4 часа поисков. Воткните в меня вилку. Я задолбался.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
0
2 145
3

Ответы 3

Хорошо, во-первых, нам нужно уточнить вашу формулировку. JavaScript и Java - два существенно разных языка.

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

Пример использования JavaScript для отправки сообщений на SMTP-сервер можно найти здесь (хотя я бы не рекомендовал этот метод, поскольку ActiveX является эксклюзивным для IE): http://www.ostrosoft.com/smtp_component/smtp_javascript.asp

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

Если вы действительно используете Java, вы можете добавить дополнительную библиотеку под названием JavaMail, чтобы упростить отправку почты, хотя, опять же, вам необходимо взаимодействовать с SMTP-сервером.

Пример JavaMail можно найти здесь: http://www.javapractices.com/topic/TopicAction.do?Id=144

Ваша форма звучит как форма FormMail, которая предназначена исключительно для отправки почты, на самом деле ей не нужен javascript, но, безусловно, требуется множество скрытых полей, и вся информация, которую вы особенно хотите извлечь, должна иметь свои собственные разделы. / поля в форме.

Итак, в чем вопрос? -)

Клиент запросил javascript. Просто пытаюсь доставить.

Jonas Follesø 15.11.2008 15:41

Такие средства, как вам, необходимо проверить форму, а затем отправить ее на сервер, который затем повторно проверяет (javascript не может быть навязан) и отправляет почтовый запрос на сервер электронной почты.

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

Скажем, у вас есть этот HTML

<script type = "text/javascript" src = "jquery.js"></script>
<script type = "text/javascript" src = "script.js"></script>
<form id = "emailForm" method = "post" action = "mail.php">
    <input type='text' name='firstName' id = "firstName"><br>
    <input type='text' name='lastName' id='lastname'><br>
    <input type='submit' value='submit' name='submit'>
</form>

Вы можете проверить, что пользователь что-то ввел во все поля, используя javascript и jQuery. Скажем, в файле script.js у вас есть:

var formIsOkay = true;
$(document).ready( function() {
$('#emailForm').submit( function() {
    $('#emailForm input').each( function() {
         if ( this.val() == '' ) { formIsOkay = false; }
    }
    return formIsOkay;
}
}

И тогда в email.php у вас будет что-то вроде этого:

 <?php
 $to =  '[email protected]';
 $from = '[email protected]';
 $subject = 'Form';
 $message = 'Hello, the following variables were supplied:<br>';
 foreach($_POST as $key => $val){
     $message .= "$key = $val<br>";
 }
 $message = wordwrap($message, 70);
 $headers  = 'MIME-Version: 1.0' . "\r\n";
 $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
 $headers .= "To: $to" . "\r\n";
 $headers .= "From: $from" . "\r\n";
 mail($to, $subject, $message, $headers);
 ?>

Для этого вам понадобится PHP, работающий на вашем сервере, и настройка SMTP-сервера на php, но у большинства серверов он есть. Обратите внимание, что PHP не обновляет форму прямо сейчас, поэтому, когда кто-то отправляет пустую форму, она все равно будет отправлена ​​по электронной почте.

Другие вопросы по теме