Успех Ajax не работает после завершения URL-адреса PHP - PullRequest
0 голосов
/ 26 июня 2018

У меня есть функция для проверки электронной почты, имени и фамилии.

function checkcontactdetails(){
var details = {
  'email'       : jQuery('#email').val(),
  'first_name'  : jQuery('#first_name').val(),
  'last_name'   : jQuery('#last_name').val(),
 };
 jQuery.ajax({
   url          :   'checkcontactdetails.php',
   type         :   'POST',
   data         :   details,
   success      :   function(data){
      if(data != 'passed'){
         jQuery('#payment-errors-step2').html(data);
      }
      if(data == 'passed'){
          $('.step3').show();
          $('#payment-errors-step2').html("");
      }
   },
   error : function(){alert("Something Went Wrong");},
 });
} 

функция вызывается здесь:

<button class="btn btn-primary btn-sm" type="button" id="checkoutbtn1" onclick="checkcontactdetails();">Next Step1</button>

здесь идут ошибки:

<span class="bg-danger" id="payment-errors-step2"></span>

Это моя вызываемая страница checkcontactdetails.php:

<?php
  include 'core/initial.php';

  $email      = sanitize($_POST['email']);
  $first_name = sanitize($_POST['first_name']);
  $last_name  = sanitize($_POST['last_name']);

  $errors = array();
  $required = array(
    'email'     => 'Email',
    'first_name'=> 'First Name',
    'last_name' => 'Last Name',
  );

  //Check if all required fields are filled out
  foreach($required as $f => $d){
    if(empty($_POST[$f])  || $_POST[$f] ==  ''){
      $errors[] = $d.'  is required.';
    }
  }

  //Check if valid email address
  if(!filter_var($email,FILTER_VALIDATE_EMAIL)){
    $errors[] = 'Please enter a valid email.';
  }

  if(!empty($errors)){
    echo display_errors($errors);
  }else {
    echo 'passed';
  }

 ?>

То, что я сделал до сих пор, - это проверка выполнения кнопки и получение оповещения о том, что «пройдено» Итак, я знаю, что вызов ajax добирается до шага успеха, потому что а) я получаю "пропущенный" и б) ошибки удаляются этим кодом:

if(data != 'passed'){
   jQuery('#payment-errors-step2').html(data);
 }

То, что я хочу сделать, - это когда успех «пройден», чтобы показать следующий шаг процесса, в данном случае это шаг 3, и очистить ошибки, если они есть.

Я ходил по кругу, думаю, у меня правильный синтаксис, поэтому у меня есть другие функции, аналогично настроенные (которые работают), но по какой-то причине эта не работает.

Следует отметить, что я установил для каждого шага отображение: нет, поэтому единственный способ отобразить шаги - это сделать это с помощью функций.

Любая помощь будет принята с благодарностью.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...