@Denis9999

Отправка формы wordpress через ajax?

Проблема в том что после нажатия на кнопку отправить возвращается $response на фоне белого экрана, а не добавления текста под кнопку, как прописано в обратной функции. На почту тоже приходят пустые данные. В чем тут ошибка?

Код формы:
<form action="<?php echo admin_url('admin-ajax.php'); ?>" class="testr6">
	<input type="hidden" name="action" value="video5">
      <div class="form-group">
        <input type="text" class="form-control" name="name" placeholder="Ваше имя" required>
        <div><span class="icon-user"></span></div>
      </div>
      <div class="form-group">
        <input type="text" class="form-control form-phone" name="phone" placeholder="Номер телефона" required>
        <div><span class="icon-phone-call"></span></div>
      </div>
      <div class="form-group">
        <input type="text" class="form-control" name="email" placeholder="E-mail" required>
        <div><span class="icon-message-closed-envelope"></span></div>
      </div>
      <div class="form-group-upload">
        <div class="file-upload">
          <label>
            <div><span class="icon-paper-clip"></span></div>
            <input type="file" name="file" id="uploaded-file">
            <span class="sp-link">Прикрепить видео-файл</span>
          </label>
        </div>
        <div id="file-name"></div>
      </div>

      <div class="form-group">
        <textarea class="form-control" name="quest" placeholder="Текст пожелания" required></textarea>
      </div>
      <div class="form-group-btn testr-btn7">
        <button class="btn" type="submit">Отправить отзыв</button>
      </div>
      <div class="politic"><a data-fancybox data-options='{"src": "#politics", "touch": false, "padding": 0}' href="javascript:;">Политика конфиденциальности</a></div>
    </form>


JQuery:
$('.testr6').on('sumbit', function(e){
		e.preventDefault();
		alert('asd');
		var $form = $(this);
		$.post($form.attr('action'), $form.serialize(), function(data) {
			
			$(".testr-btn7").after("<p>Отправлено!</p>");
		}, 'json');

	});


PHP:
add_action( 'wp_ajax_video5', 'video5' );
add_action( 'wp_ajax_nopriv_video5', 'video5' );
function video5() {

    $response = array(
    	'error' => false,
    );

  $to_mail = 'mailmail@mail.ru';
  $subject = 'Отзыв'; 
   
  $name = $_POST['name'];
  $phone = $_POST['phone'];
  $email = $_POST['email'];
  
  $message = 'Имя: ' . $name . '<br> Телефон: ' . $phone . '<br> Почта: ' . $email ;
  
  $headers =  'MIME-Version: 1.0' . "\r\n";
  $headers .= 'From: Your name <info@address.com>' . "\r\n";
  $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
	mail($to_mail, $subject, $message , $headers);
	exit(json_encode($response));
}
  • Вопрос задан
  • 2346 просмотров
Пригласить эксперта
Ответы на вопрос 1
pasha_zigzag
@pasha_zigzag
Джун Джуновский
$('.testr6').on('sumbit', function(e){

Нужно писать suBMit
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы