доработка обработчика обратной связи
-
Необходимо добавить в форму обратной связи пункт с выбором из раскрывающегося списка. Одна проблема в том, что удаляется атрибут id у тега select, вторая проблема, что обработчик не видит данные получаемые из select’а. Собственно html часть:
<div class="home-section-content"> <div class="onetone-animated animated fadeIn"> <div class="contact-area section_btn_text_8"> <form class="contact-form" action="" method="post"> <input id="name" tabindex="1" name="name" size="22" type="text" value="" placeholder="Имя" /> <input id="email" tabindex="2" name="email" size="22" type="text" value="" placeholder="Эл. адрес" /> <select name="metro" > <option value="ds,jh">Выберите станцию</option> <option selected="selected" value="ВДНХ">ВДНХ</option> <option value="Алексеевская">Алексеевская</option> </select> <textarea id="message" name="x-message" placeholder="Сообщение"></textarea> <input id="sendto" name="sendto" type="hidden" value="****@***" /> <input id="submit" name="submit" type="button" value="Отправить" /> </form> </div> </div> </div>php:
function onetone_contact(){ if(trim($_POST['Name']) === '') { $Error = __('Please enter your name.','onetone'); $hasError = true; } else { $name = trim($_POST['Name']); } if(trim($_POST['Email']) === '') { $Error = __('Please enter your email address.','onetone'); $hasError = true; } else if (!preg_match("/^:alnum:[a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,4}$/i", trim($_POST['Email']))) { $Error = __('You entered an invalid email address.','onetone'); $hasError = true; } else { $email = trim($_POST['Email']); } if(trim($_POST['metro']) === '') { $Error = __('Please enter your station.','onetone'); $hasError = true; } else { $name = trim($_POST['metro']); } if(trim($_POST['Message']) === '') { $Error = __('Please enter a message.','onetone'); $hasError = true; } else { if(function_exists('stripslashes')) { $message = stripslashes(trim($_POST['Message'])); } else { $message = trim($_POST['Message']); } } if(!isset($hasError)) { if (isset($_POST['sendto']) && preg_match("/^:alnum:[a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,4}$/i", trim($_POST['sendto']))) { $emailTo = $_POST['sendto']; } else{ $emailTo = get_option('admin_email'); } if($emailTo !=""){ $subject = 'From '.$name; $body = "Name: $name \n\nEmail: $email metro: $metro \n\nMessage: $message"; $headers = 'From: '.$name.' <'.$emailTo.'>' . "\r\n" . 'Reply-To: ' . $email; wp_mail($emailTo, $subject, $body, $headers); $emailSent = true; } echo json_encode(array("msg"=>__("Your message has been successfully sent!","onetone"),"error"=>0)); } else { echo json_encode(array("msg"=>$Error,"error"=>1)); } die() ; }после заполнения формы и попытки отправить приходит ответ с ошибкой по metro. Думал может какие траблы с обработкой select прописывал отдельный input c атрибутами id=»metro» и name=»metro» результат не изменился. Где я что не так делаю?
Просмотр 1 ответа (всего 1)
Просмотр 1 ответа (всего 1)
Тема «доработка обработчика обратной связи» закрыта для новых ответов.