Помогите, пожалуйста, доработать код формы обратной связи..
Необходимо, чтобы поле message было не обязательным к отправке.
Сейчас ситуация следующая: письма из формы уходят на почту, но если поле сообщение не заполнено, письмо не уходит.
<divclass="btn-greenbackground pt-40 pb-15 pl-30"><divclass="adaptive-header"><h30><pstyle="line-height:0.35"><b>Отправьте заявку на участие</b><br/>
__________________________</p></h30></div></div><!-- атрибут required говорит, что заполнение поля обязательно --><formmethod="POST"id="feedback-form"><divclass="btn-greenbackground p-30 pt-20 pl-30 pr-30 pb-25"><divclass="row"><divclass="col-sm-6"><divclass="form-group"><inputtype="text"name="nameFF"style="border-radius:2px;border-style:none;height:40px;width:100%;color:black"requiredplaceholder="Ваше имя"x-autocompletetype="name"></div></div><divclass="col-sm-6 mt-5"><divclass="form-group"><pstyle='font-size:10px;font-family: Arial, sans-serif;'>*Укажите, пожалуйста, Ваше имя и мы отправим Вам именное приглашение</p></div></div></div><divclass="row"><divclass="col-sm-6"><divclass="form-group"><inputtype="email"name="contactFF"style="border-radius:2px;border-style:none;height:40px;width:100%;color:black"requiredplaceholder="Ваш email"x-autocompletetype="email"></div></div><divclass="col-sm-6 mt-5"><divclass="form-group"><pstyle='font-size:10px;font-family: Arial, sans-serif;'>*Укажите, пожалуйста, Ваш email, на который будет отправлено приглашение</p></div></div></div><divclass="row"><divclass="col-sm-6"><divclass="form-group"><inputtype="text"name="messageFF"placeholder="Ваш телефон"style="border-radius:2px;border-style:none;height:40px;width:100%;color:black"></div></div><divclass="col-sm-6 mt-5"><divclass="form-group"><pstyle='font-size:10px;font-family: Arial, sans-serif;'>*Укажите Ваш телефон для получения смс- уведомлений о мероприятиях</p></div></div></div></div><divclass="form-group"><buttontype="submit"class="btn btn-flat btn-theme-colored btn-herbal text-uppercase col-md-12 col-sm-12 col-xs-12 mt-10 border-left-theme-color-2-4px "data-loading-text="Пожалуйста, подождите...">Принять участие</button></div></form><pstyle='font-size:11px;font-family: Arial; san-serif; align=’right’'>Нажимая кнопку "Принять участие" Вы соглашаетесь с <ahref="/privacy_policy.html"target="_blank"><fontcolor="red">Политикой конфиденциальности</font></a></p><script>
document.getElementById('feedback-form').addEventListener('submit',function(evt){var http =newXMLHttpRequest(), f =this;
evt.preventDefault();
http.open("POST","contacts.php",true);
http.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
http.send("nameFF="+ f.nameFF.value +"&contactFF="+ f.contactFF.value +"&messageFF="+ f.messageFF.value);
http.onreadystatechange =function(){if(http.readyState ==4&& http.status ==200){
alert(http.responseText +', Ваше сообщение получено.\nНаши специалисты ответят Вам в течении 2-х дней.\nБлагодарим за интерес к нашей организации!');
f.messageFF.removeAttribute('value');// очистить поле сообщения (две строки)
f.messageFF.value='';}}
http.onerror =function(){
alert('Извините, данные не были переданы');}},false);</script><!-- Contact Form Validation--><scripttype="text/javascript">
$("#contact_form").validate({
submitHandler:function(form){var form_btn = $(form).find('button[type="submit"]');var form_result_div ='#form-result';
$(form_result_div).remove();
form_btn.before('<div id="form-result" class="alert alert-success" role="alert" style="display: none;"></div>');var form_btn_old_msg = form_btn.html();
form_btn.html(form_btn.prop('disabled',true).data("loading-text"));
$(form).ajaxSubmit({
dataType:'json',
success:function(data){if( data.status =='true'){
$(form).find('.form-control').val('');}
form_btn.prop('disabled',false).html(form_btn_old_msg);
$(form_result_div).html(data.message).fadeIn('slow');
setTimeout(function(){ $(form_result_div).fadeOut('slow')},6000);}});}});</script></div></div></section></div>
<?php
function smtpmail($mail_to, $subject, $message, $headers=''){//Настройки почты
$config['smtp_username']='[email protected]';//Смените на имя своего почтового ящика из ISPManager.
$config['smtp_password']='Jhmeg43600s029a';//Измените пароль.
$config['smtp_from']='Ikkk';//Ваше имя - или имя Вашего сайта. Будет показывать при прочтении в поле "От кого".//Обычно эти настройки менять не стоит
$config['smtp_host']='smtp.beget.com';//Сервер для отправки почты (для наших клиентов менять не требуется).
$config['smtp_port']='2525';// Порт работы. Не меняйте, если не уверены.
$config['smtp_debug']=true;//Если Вы хотите видеть сообщения ошибок, укажите true вместо false.
$config['smtp_charset']='UTF-8';//Кодировка сообщений.
$SEND ="Date: ".date("D, d M Y H:i:s")." UT\r\n";
$SEND .='Subject: =?'.$config['smtp_charset'].'?B?'.base64_encode($subject)."=?=\r\n";if($headers) $SEND .= $headers."\r\n\r\n";else{
$SEND .="Reply-To: ".$config['smtp_username']."\r\n";
$SEND .="MIME-Version: 1.0\r\n";
$SEND .="Content-Type: text/plain; charset=\"".$config['smtp_charset']."\"\r\n";
$SEND .="Content-Transfer-Encoding: 8bit\r\n";
$SEND .="From: \"".$config['smtp_from']."\" <".$config['smtp_username'].">\r\n";
$SEND .="To: $mail_to <$mail_to>\r\n";
$SEND .="X-Priority: 3\r\n\r\n";}
$SEND .= $message."\r\n";if(!$socket = fsockopen($config['smtp_host'], $config['smtp_port'], $errno, $errstr,30)){if($config['smtp_debug']) echo $errno."<br>".$errstr;returnfalse;}if(!server_parse($socket,"220", __LINE__))returnfalse;
fputs($socket,"EHLO ". $config['smtp_host']."\r\n");if(!server_parse($socket,"250", __LINE__)){if($config['smtp_debug']) echo '<p>Не могу отправить EHLO!</p>';
fclose($socket);returnfalse;}
fputs($socket,"AUTH LOGIN\r\n");if(!server_parse($socket,"334", __LINE__)){if($config['smtp_debug']) echo '<p>Не могу найти ответ на запрос авторизации!</p>';
fclose($socket);returnfalse;}
fputs($socket, base64_encode($config['smtp_username'])."\r\n");if(!server_parse($socket,"334", __LINE__)){if($config['smtp_debug']) echo '<p>Логин авторизации не был принят сервером!</p>';
fclose($socket);returnfalse;}
fputs($socket, base64_encode($config['smtp_password'])."\r\n");if(!server_parse($socket,"235", __LINE__)){if($config['smtp_debug']) echo '<p>Пароль не был принят сервером как верный! Ошибка авторизации!</p>';
fclose($socket);returnfalse;}
fputs($socket,"MAIL FROM: <".$config['smtp_username'].">\r\n");if(!server_parse($socket,"250", __LINE__)){if($config['smtp_debug']) echo '<p>Не могу отправить команду MAIL FROM:</p>';
fclose($socket);returnfalse;}
fputs($socket,"RCPT TO: <". $mail_to .">\r\n");if(!server_parse($socket,"250", __LINE__)){if($config['smtp_debug']) echo '<p>Не могу отправить команду RCPT TO:</p>';
fclose($socket);returnfalse;}
fputs($socket,"DATA\r\n");if(!server_parse($socket,"354", __LINE__)){if($config['smtp_debug']) echo '<p>Не могу отправить команду DATA!</p>';
fclose($socket);returnfalse;}
fputs($socket, $SEND."\r\n.\r\n");if(!server_parse($socket,"250", __LINE__)){if($config['smtp_debug']) echo '<p>Не могу отправить тело письма. Письмо не было отправлено!</p>';
fclose($socket);returnfalse;}
fputs($socket,"QUIT\r\n");
fclose($socket);return TRUE;}function server_parse($socket, $response, $line = __LINE__){global $config;while(substr($server_response,3,1)!=' '){if(!($server_response = fgets($socket,256))){if($config['smtp_debug']) echo "<p>Проблемы с отправкой почты!</p>$response
$line
";returnfalse;}}if(!(substr($server_response,0,3)== $response)){if($config['smtp_debug']) echo "<p>Проблемы с отправкой почты!</p>$response
$line
";returnfalse;}returntrue;}//Отправить почту сразу нескольким получателям, ящики получателей пишем через запятую.function smtpmassmail($mail_to, $subject, $message, $headers=''){
$mailaddresses=explode(",",$mail_to);foreach($mailaddresses as $mailaddress) smtpmail($mailaddress,$subject,$message,$headers);}?>
You can post now and register later. If you have an account, sign in now to post with your account. Note: Your post will require moderator approval before it will be visible.
alert('2' + submit.value) нужно было делать внутри request.onreadystatechange, потому что именно там приходит значение с сервера и задаётся value у submit. И через сколько времени это произойдёт, не всегда известно, может и через минуту, если интернет медленный, поэтому таймаутами универсально не побороть.
Я не уверен, что у формы есть событие input, но если даже было бы, то переменные result, num1 и num2 не определены. Они были бы созданы автоматически, если бы это были id, но у тебя-то name. И я не в курсе, сейчас можно писать js-код в атрибутах без javascript: спереди? И есть ли у тега <output> свойство value? Может быть, у него textContent? Подключи Vue, там будет работать так, как ты хочешь, только придётся несколько дополнительных действий сделать, привязывая переменные к инпутам и создавая computed-свойство.
Понял, спасибо большое. Я просто думал, что если выбран класс, то и применяяется только к конкретному классу, а оказывается не правильно думал. Еще раз спасибо
Добрый день! Есть такая страница http://tehne.com/grant/right-bank-of-kazanka-river-competition-2021-ru Хочу сделать чтобы в мессенджерах когда отправляют ссылку вместе с заголовком показывалась определенная картинка. Я добавил эту картинку в мета тэги og и link rel="image_src" и она все равно не появляется когда делюсь в мессенджерах Почему так?
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.
Question
Анна В. 0
Всем привет!
Помогите, пожалуйста, доработать код формы обратной связи..
Необходимо, чтобы поле message было не обязательным к отправке.
Сейчас ситуация следующая: письма из формы уходят на почту, но если поле сообщение не заполнено, письмо не уходит.
Link to post
Share on other sites
0 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.