Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Нужна помощь в написании js для модального окна или статья (https://javascript.ru/forum/misc/71123-nuzhna-pomoshh-v-napisanii-js-dlya-modalnogo-okna-ili-statya.html)

panikajo 27.10.2017 11:11

Нужна помощь в написании js для модального окна или статья
 
Вложений: 1
Здравствуйте, есть уже код модального окна и кнопка. Почти все готово,осталось одно заставить кнопку отправить функционировать. Так вот прошу помочь мне с этим.Нужно чтобы все содержимое отправлялось на указанный мною email адрес в такой форме -



Код:

<div class="modal-content">
				<form>
					<div class="modal-header">
						<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
						<h4 class="modal-title">Резюме Dota2</h4>
					</div>
					<div class="modal-body">
						<ul>
							<li>Требуются бустеры с высоким рейтингом</li>
							<li>Ваш соло рейтинг ОТ 5600 MMR</li>
							<li>Большое кол-во свободного времени</li>
						</ul>
						<div class="form-group">
							<label for="inputMmr" class="control-label pull-left">Solo MMR</label>
							<input type="text" class="form-control" id="inputMmr" name="Solo_MMR" placeholder="Ваш solor mmr">
						</div>
						<div class="form-group">
							<label for="inputMmr" class="control-label pull-left">Ваш возраст</label>
							<input type="text" class="form-control" id="inputMmr" name="age" placeholder="Ваш возраст">
						</div>
						<div class="form-group">
							<label for="inputMmr" class="control-label pull-left">Чем вы занимаетесь</label>
							<input type="text" class="form-control" id="inputMmr" name="hobby" placeholder="Чем вы занимаетесь">
						</div>
						<div class="form-group">
							<label for="inputMmr" class="control-label pull-left">Сколько часов в день играете</label>
							<input type="text" class="form-control" id="inputMmr" name="how_much_time_play" placeholder="Сколько часов в день играете">
						</div>
						<div class="form-group">
							<label for="inputMmr" class="control-label pull-left">Почему хотите получить эту работу</label>
							<input type="text" class="form-control" id="inputMmr" name="why_yoo_want" placeholder="Почему хотите получить эту работу">
						</div>
						<div class="form-group">
							<label for="inputMmr" class="control-label pull-left">Ссылка на скриншот с рейтингом из доты</label>
							<input type="text" class="form-control" id="inputMmr" name="link" placeholder="Ссылка">
						</div>
						<div class="form-group">
							<label for="inputMmr" class="control-label pull-left">Ссылка на dotabuff</label>
							<input type="text" class="form-control" id="inputMmr" name="link" placeholder="Ссылка">
						</div>
						<div class="form-group">
							<label for="inputMmr" class="control-label pull-left">Ссылка на Vkontakte</label>
							<input type="text" class="form-control" id="inputMmr" name="vk" placeholder="Ссылка Vk">
						</div>
					</div>
					<div class="modal-footer">
						<button type="button" class="btn btn-default" data-dismiss="modal">Закрыть</button>
						<button type="button" class="btn btn-primary act_send" data-game="dota2">Отправить резюме</button>
					</div>
				</form>
			</div>


laimas 27.10.2017 11:31

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

Nexus 27.10.2017 11:38

panikajo, тегу form добавьте атрибуты "action" и "method".
У кнопки "отправить" смените type="button" на type="submit".

panikajo 27.10.2017 11:46

Цитата:

Сообщение от laimas (Сообщение 468390)
panikajo,
отправляйте форму на сервер, а он уже сформирует и таблицу, и отправить почту. В противном случае использовать чужой сервис отправления почты. Сам клиент из веб страницы почту не отправит.

Это понятно все, киньте пожалуйста подробную статью, как это все написать, приме так скажем.
Типо такого чет.

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    if (isset($_POST['name'])) {$name = $_POST['name'];}
    if (isset($_POST['phone'])) {$phone = $_POST['phone'];}
    // if (isset($_POST['email'])) {$email = $_POST['email'];}
    if (isset($_POST['formData'])) {$formData = $_POST['formData'];}
 
    $to = "site@sitename.com"; /*Укажите адрес, га который должно приходить письмо*/
    $sendfrom   = "support@sitename.ru"; /*Укажите адрес, с которого будет приходить письмо, можно не настоящий, нужно для формирования заголовка письма*/
    $headers  = "From: " . strip_tags($sendfrom) . "\r\n";
    $headers .= "Reply-To: ". strip_tags($sendfrom) . "\r\n";
    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: text/html;charset=utf-8 \r\n";
    $subject = "$formData";
    $message = "$formData
 <b>Имя пославшего:</b> $name
<b>Телефон:</b> $phone";
    $send = mail ($to, $subject, $message, $headers);
    if ($send == 'true')
    {
    echo '<center>
 
Спасибо за отправку вашего сообщения!
 
</center>';
    }
    else
    {
    echo '<center>
 
<b>Ошибка. Сообщение не отправлено!</b>
 
</center>';
    }
} else {
    http_response_code(403);
    echo "Попробуйте еще раз";
}?>

laimas 27.10.2017 11:52

panikajo,
Если вы так будете отправлять почтовые сообщения, то ваша почта запросто может стать рассадником для спама. И уж об отправлении почты в сети столько написано, что читать и не перечитать. Ищите, читайте, используйте. Ну или используйте готовые разумные классы.

А насчет отправления, так в чем проблемы? Просто отправляйте форму, если нужна асинхронная отправка, значит используйте Ajax.

И это http_response_code(403); что за чудо?

for="inputMmr" у всех меток и id="inputMmr" у всех полей, это ошибка, id должно быть уникально. Вам в общем то этого в данной форме и не требуется.

panikajo 27.10.2017 11:56

laimas , У меня нету, самого скрипта который отвечает за отправку я это имею введу. Я не знаю, как его написать, прошу помощи статей которые направят меня на это.
Тот код выше то пример.

Dilettante_Pro 27.10.2017 12:16

panikajo,
https://yandex.gik-team.com/?q=PHP+отправка+почты

laimas 27.10.2017 12:22

Форма будет отправлена по адресу указанному в атрибуте тега action формы и с методом указанным в ее атрибуте method. Вам уже сказали, что это должно быть указано в форме. Удалить баги с id, вообще их удалить, в этой форме они не нужны.

Если пример и адрес отправителя не ожидается, то ваша задача проверить истинность данных прежде чем отправлять почту. Вы же не ради интереса выставляете форму клиенту, а значит либо все поля ее обязательны для заполнения, либо некоторые из них. И обязательность заполнения этих данных и должен проверить сервер. Если они не заполнены, то вернуть пользователю сообщения об ошибках заполнения. А коли речь идет о "модальности", то выгоднее эту форму оправлять посредством Ajax.

Другими словами, это надо решать комплексно, а не "у меня есть форма, как теперь отправить письмо?".


Часовой пояс GMT +3, время: 12:37.